Course Page => C431 Assemblers and Compilers 1

 

FINAL GRADES ARE SUBMITTED.

 

The syllabus is here.

 

Handouts:

 

Date

Topic

5/30

The State of Software,  by Aaron Ricadela.

6/13

Will Software Ever Work?, by Lieberman and Fry

6/20

Surveying Computer Programmers, by Zanger

 

 

Assignments: Open

 

Number

Due

Assignment

Hw1

5-23

Write a program that will determine if an input string will satisfy the problem of the farmer, fox, chicken and grain

Hw2

6-6

Write a DFA program

Hw3

6-6

Write a one-page summary of The State of Software.

Hw4

6/13

Write, using your DFA tool, a program to solve Hw1.

Hw5

6/13

Write, using your DFA tool, write a program to convert infix expressions to postfix. You only need to use integers, no variables. The algorithm to convert from normal, infix, notation to postfix notation works as follows, converting an expression on the input stream into an equivalent one on the output stream. The expression on the input stream is examined symbol by symbol: Identifiers and constants are passed directly to the output stream, but operators and parentheses require special attention. An opening parenthesis, '(', is simply placed on the operator stack. A closing parenthesis, ')', causes all of the operators on the stack down to the matching '(' to be placed on the output stream, the operators being removed from the top, down. The matching '(' is not placed on the output stream, and neither is the ')' -- these are discarded. An operator on the input stream causes one of two actions to be taken: If the stack is empty, or there is a '(' on the top of it, then the operator is placed on the top of the stack. If the top of the stack is an operator then if the current operator has a higher priority value than the one on the top, again, it is placed on the top of the stack. If, however, the operator has a priority which is lower than or equal to that of the operator on the top of the stack (again assuming all operators are left-associative), then the operator at the top of the stack is moved to the ouput stream. The whole of the above process is repeated until the operator can be placed on the top of the stack.

Hw6

6/20

Write a one-page summary of Will Software Ever Work?, by Lieberman and Fry.

Hw7

7/11

Write a one page summary of Surveying Computer Programmers, by Zanger.

Hw8

7/11

Define and describe the scientific method and associate each of its tenets (characteristics) with portions of the software development life cycle.

Hw9

7/11

Pippy FSM

Hw10

8/13

Compiler for Goofi language

           

Assignments: Closed

 

Number

Assignment

E1

Write a hello-world program on csci-01.ius.edu

E2

Answer the ftp/telnet questions handed out in class

E3

Write a NFA that is a pop machine. Input alphabet is {QDN}. Issue a pop and change. Price is .25 for a pop.

E4

Page 86 problem 2 of the text.

 

Schedule:

 

DATE

TOPIC

5/23

Lexical analysis, Hw2, E1, E2

5/30

Lexical analysis, Hw3, E3

6/6

Grammars, parsing, Hw4

6/13

Grammars

6/20

Exam 1

6/27

NoClassBetweenMiniMesters

7/4

NoClassHoliday

7/11

Pippy machine

7/18

Grammars, pippy

7/25

Presentations: Jordan, wyant, beanblossum, bean???

8/1

Presentations: Remainder

8/8

Final Exam

 

Grades:

 

magic

e1

e2

e3

e4

h1

h2

h3

h4

h5

h6

h7

h8

h9

h10

M1

F

S

G

ollie

10

10

10

10

10

10

10

10

10

10

10

10

10

30

87

77

86.1

a-

2720

10

10

10

10

10

10

10

10

10

0

10

10

0

0

76

71

66.1

c

A1

10

10

10

10

10

10

10

10

10

10

10

10

10

10

77

57

73.5

b

6192

10

10

10

10

10

10

10

10

10

10

10

10

10

40

97

71

90.3

a

earthquake

10

10

10

10

10

10

10

10

10

10

10

10

10

0

60

67

68.7

c+

6792

10

10

10

10

10

10

10

10

10

10

10

10

10

25

94

82

86.9

a-

talisman

10

10

10

10

10

10

0

0

0

0

0

0

0

0

82

0

36.4

W

Phredd

10

10

10

10

10

10

10

10

10

10

10

10

10

40

83

81

89.5

a-

elfbarf

10

10

10

10

10

10

10

10

10

10

10

10

0

45

92

83

90

a-

3088

10

10

10

10

10

10

10

10

10

10

10

10

10

0

76

0

58.5

i

emu

10

10

10

10

10

R

0

10

10

0

0

0

0

0

68

78

52.5

i

3309

10

10

10

10

10

10

10

0

10

10

10

10

10

35

90

70

83.7

b+