Previous Weeks in the CSci 281 class
As we go through the semester, this file will
contain a record of what we actually did each week (as contrasted
with the schedule set out at the start of the term.
Week 1: Monday, Jan 21
Topics:
Reading:
- Paul, chapter 1
- Tanenbaum 1 (when available)
Schedule:
- Monday:
- Martin Luther King Day - no classes
- Tuesday:
- Introduction to the course
- Thursday
- Friday
- Assembly language programming
- An examination of a simple accumulator machine (1401), a
basic load/store machine (PDP-11), and a sample stack
machine
Other Notes:
Week 2: Monday, Jan 28
Topics:
Reading:
- Paul, chapter 2
- Tanenbaum 7
Schedule:
- Monday:
- Intro to Unix, X-windows
- C and C++ on Orion
- Tuesday:
- The assembler
- Using the gcc compiler to compile and link C programs with
assembly language programs
- Thursday
- More on the link editor
- The m4 macro preprocessor (introduction)
- Exercise #1
- Friday
- The form of assembly language statements
Other Notes:
Week 3: Monday, Feb. 4
Topic:
- Implementation of basic control structures
Reading:
- Tannenbaum 1 through 2.1
- Paul, chapter 2 (2.8 - end of chapter 2
Schedule:
- Monday:
- RISC vs CISC
- Pipelining
- debugger
- Tuesday:
- GOTO considered harmful
- Basics of structured programming
- Implementation of basic control structures
- Sequence
- Thursday
- Selection
- Implementation of selection: compare and branch
instructions
- Friday
- Review
- Discussion of exercises
Other Notes:
- Several short programming exercises
- Exam #1 will be next week
Week 4: Monday, Feb. 11
Topic:
- Implementation of basic control structures
- Binary arithmetic and the representation of basic data
types
Reading:
- Tannenbaum 2
- Paul, chapters 2, 3
Schedule:
- Monday:
- Repetition and the implementation of repetition
- Tuesday:
- Number systems and binary arithmetic
- Thursday
- Floating Point
- Review for Exam #1
- Friday
- Exam #1 (the exam may include material from Monday and
Tuesday)
Week 5: Monday, Feb. 18
Topics:
- Binary arithmetic and the representation of basic data
types
- An introduction to computer hardware
Reading:
- Tannenbaum chapter 3
- Paul, chapter 3
- Paul 11.1 - 11.4
Schedule:
- Monday:
- Tuesday:
- Representation of Integer data
- Thursday
- Representation of floating point numbers
- Friday
Other Notes:
- Monday is the last day to withdraw with an automatic "W"
Week 6: Monday, Feb. 25
Topics:
Reading:
- Tannenbaum chapter 3
- Paul, chapter 4
Schedule:
- Monday:
- Combinational Circuits
- Making circuits from truth tables
- XOR
- Multiplexers
- Assignment
- Tuesday:
- Thursday
- Friday
- No Class (Columbia History of Science Seminar)
Other Notes:
- With this lecture, we end a first look at architecture,
and return next week to programming issues. We will return to
architecture later on.
Week 7: Monday, March 4
Topics:
Reading:
Schedule:
- Monday:
- Bit Operations (and, or, not, andn, etc.)
- Tuesday:
- Use of bit operations in setting, clearing, and testing
flags
- Arithmetic
- No office hours (doctor's appointment)
- Thursday
- No class or office hours - doctor's appointment
- Friday
- Discussion of current exercise set
Other Notes:
- I apologize for the unusual constraints on office hours this
week. Should you need to see me, please let me know and I
will try and find a time when we can meet.
Week 8: Monday, March 11
Topics:
- The stack
- Data Structures
Reading:
Schedule:
- Monday:
- Discussion of written homework
- Tuesday:
- Multiplication and division
- Thursday
- Review of bit operations (class request)
- Friday
- Introduction to the stack
Other Notes:
- The second hour exam will be on the Tuesday following Spring
break. It will cover the material covered so far in chapter
3 of Tanenbaum, and in chapters 2 - 5 of Paul (including the
material in chapter 11 on floating point numbers covered in the
lecture).
Week 9: Monday, March 25 (following Spring Break)
Topics:
- Data Structures
- Subroutines
Reading:
Schedule:
- Monday:
- No class (instructor ill)
- Tuesday:
- Load and store instructions
- Referencing local variables on the stack
- Review for Exam #2
- Thursday
- Exam #2 (postponed from Tuesday due to instructor
illness)
- Friday
- Call by value/location
- Arrays
- Discussion of next homework assignment
Other Notes:
- If you have not already done so, please read through chapters
1 - 3 of Tanenbaum. I will not be lecturing directly on the
material in chapters 1 and 2 of Tanenbaum, but it serves as
important background material for this course, and you will need
to know the important definitions (for exam #3 and the final,
not for exam #2).
Week 10: Monday, April 1
Topics:
- Data Structures
- More Architecture: Clocks and memory
- Subroutines
Reading:
- Tanenbaum, chapters 1 - 3
- Paul, chapters 6, 7
Schedule:
- Monday:
- The story so far: Control Structures and Data
Structures
- Tuesday:
- One-dimensional arrays examined in more detail
- Thursday
- Friday
Other Notes:
- If you have not already done so, please read through chapters
1 - 3 of Tanenbaum. I will not be lecturing directly on the
material in chapters 1 and 2 of Tanenbaum, but it serves as
important background material for this course, and you will need
to know the important definitions (for exam #3 and the final,
not for exam #2).
- Pointers will be further discussed when we cover chapter 9 in
Paul, but I want to get us started on them now.
Week 11: Monday, April 8
Topics:
- More Architecture: Clocks and memory
Reading:
- Tanenbaum, chapters 1 - 3
- Paul, chapters 6, 7
Schedule:
- Monday:
- Tuesday:
- Thursday
- Friday
- Linked Lists and next exercise
- More architecture: Clocks and memory
Other Notes:
- If you have not already done so, please read through chapters
1 - 3 of Tanenbaum. I will not be lecturing directly on the
material in chapters 1 and 2 of Tanenbaum, but it serves as
important background material for this course, and you will need
to know the important definitions (for exam #3 and the final,
not for exam #2).
- Pointers will be further discussed when we cover chapter 9 in
Paul, but I want to get us started on them now.
Week 12: Monday, April 15
Topics:
- More Architecture: Clocks and memory
- Subroutines
Reading:
- Tanenbaum, chapters 1 - 3, 7
- Paul, chapters 7, 8
Schedule:
- Monday:
- More architecture: Clocks and memory
- Tuesday:
- More architecture: Clocks and memory
- Introduction to subroutines
- Thursday
- Introduction to subroutines
- Stack frames
- Recursion
- Friday
Other Notes:
- Exam #3 will be Tuesday of next week (April 23)
Week 13: Monday, April 22
Topics:
- The assembler
- Instruction sets
Reading:
- Tanenbaum, chapters 5, 7
- Paul, chapters 7, 8
Schedule:
- Monday:
- Stack Frames
- Recursion
- Review for exam #3
- Tuesday:
- Thursday
- Instruction sets in general
- The assembler
- Friday
- The SPARC instruction set
- Instruction formats
Other Notes:
Return to CSci
281 Home Page