Day
| Date |
Lecture Topic Description
|
Assignments
Due
|
Course
Outcomes#
|
CS
Program
Outcome
|
T
| Jan 8 |
Class organization, systems software concepts.
Computer organization
|
|
#1, #2, #3, #4
|
|
Th
| 10 |
The computer as an instruction interpreter: Architecture, fetch-execute cycle, ISA
|
|
#1
|
#12 #13
|
T
|
15
|
Assembly language, Instruction formats.
|
|
#1
|
#12 #13
|
Th
|
17
|
Virtual machines: P-code and JVM / interpreters
|
Recitation1: Intel x86 Architecture
|
#1
|
#12 #13
|
M
|
21
|
Martin Luther King Jr. Day
|
|
|
|
T
|
22
|
Stack organization: recursion and nested procedures
|
|
#1
|
#12 #13
|
Th
|
24
|
Compilers and interpreters
|
HW1 assigned
P-Machine
(Due Feb 3)
Rcitation2:
PL/0
|
#2
|
#1, #2, #3, #9, #11, #12, #13
|
T
|
29
|
Lexical analysis (Scanner)
|
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
Th
|
31
|
Regular expressions . Transition diagrams.
|
Recitation 3:
Makefile utility
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
T
|
Feb. 5
|
Regular expressions and review
|
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
Th
|
7
|
First Midterm Exam
|
|
|
|
T
|
12
|
Finite state machines and lexical analysis
|
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
Th
|
14
|
The parsing process
|
HW2 assigned
Scanner PL0
(Due Feb 23)
Recitation 4: Regular expressions and FSM
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
T
|
19
|
Grammars, BNF, EBNF, and syntax graphs
|
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
Th
|
21
|
Context free languages
|
HW2 Due
Scanner PL0
Recitation 5:
Symbol table
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
T
|
26
|
Parse trees. Ambiguities in grammars. Left recursion. Left factoring.
|
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
Th
|
28
|
Top down parsing (recursive descent parser)
|
Recitation 6:
PL/0 parser
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
4-9
|
Mar.
|
Spring Break
|
|
|
|
M
|
11
|
Withdrawal deadline
|
|
|
|
T
|
12
|
Parsing LL grammars - LL(1)
|
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
Th
|
14
|
Parsing LL grammars - LL(1)
|
HW3 assigned Parser for PL/0
(Due Mar 31)
Recitation 7:Code generation
|
#2
|
#1, #2, #3, #9, #10, #11, #12, #13
|
T
|
19
|
Code generation
|
|
#1, #2
|
#3, #9, #11, #12, #13
|
Th
|
21
|
Code generation
|
Recitation 8:
Code generation PL/0
|
#1, #2
|
#3, #9, #11, #12, #13
|
T
|
26
|
Assembler Pass 1 and pass 2
|
|
#1 #3
|
#3, #9, #11, #12, #13
|
Th
|
28
|
Second midterm Exam
|
|
|
|
T
|
April
2
|
Linkers and loaders. Bootstrapping.
|
|
#3 #4
|
#3, #9, #11, #12, #13
|
Th
|
4
|
Interrupt handling: traps
|
HW4: Code generation for PL/0(Flex)
(Due April 15)
Recitation 9: Compilation process
|
#1, #4
|
#3, #12, #13
|
T
|
9
|
Interrupt handling: System Calls, I/O interrupt and timer interrupt
|
|
#4
|
#3, #13
|
Th
|
11
|
Processes and Threads. State of a process
|
Recitation 10:
FLEX
|
#4
|
#3, #13
|
T
|
16
|
Concurrent execution of sequential programs and. Thread run time environment: Text, Data, BSS, Stack, and heap
|
|
#4
|
#3, #13
|
Th
|
18
|
Review (last class)
|
|
|
|
M
|
22
|
***Classes End***
|
|
|
|
Th
|
25
|
Final Exan
|
|
|
|
Agnmt #
|
Assignment Descriptions
|
Size
(SLOC)
(Pages)
|
Weight
(100pts)
|
CS Program
Outcome
|
HW1
|
Team Assignment. P-code Virtual Machine
Design and implement, using C, an interpreter for a Tiny Virtual Machine(P-code interpreter). The ISA has 24 instructions to handle the activation records (recursion), arithmetic and decision operations.
|
6 pages
260 SLOC
|
100pts
|
#2, #3, #4, #9, #11, #12, #13
|
HW2
|
Team Assignment. Implement a scanner for PL/0
|
7 pages
320 SLOC
|
100pts
|
#1, #2, #3, #4, #9, #10, #11, #12, #13
|
HW3
|
Team Assignment. Implement a recursive-descent parser and code generator for PL/0 and emit message errors is the program is not syntactically correct
|
7 pages
356 SLOC
|
100pts
|
#1, #2, #3, #4, #9, #10, #11, #12, #13
|
HW4
|
Team Assignment. Implement a compiler for PL/0 (scanner was implemented using FLEX) for the interpreter implemented in objective one.
|
4 pages
140 SLOC
|
100pts
|
#2, #3, #4, #9, #11, #12, #13
|
Share with your friends: |