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, January 19
Topics:
Reading:
- Tanenbaum, chapter 1
- Paul, chapter 1
Schedule:
- Monday:
- Martin Luther King day (no classes)
- Wednesday:
- Introduction to the course
- Thursday
- Architecture: Levels
- An examination of a simple accumulator machine (1401), a
basic load/store machine (PDP-11), and a sample stack
machine
- Friday
- Intro to Unix, X-windows
- C and C++ on Orion
- Using the gcc compiler to compile and link C programs with
assembly language programs
- Assembly language programming
Other Notes:
Week 2: Monday, January 26
Topics:
Reading:
- Tanenbaum, chapter 7
- Paul, chapter 2
Schedule:
- Monday:
- Intro to Unix, X-windows
- C and C++ on Orion
- A bit on the m4 macro preprocessor (a very brief look - we will not
use this preprocessor, but you need to know how it works)
- Wednesday:
- Register usage
- Instruction - fetch execute cycle
- Basic assembly language statements
- m4 and the assembler
- Thursday
- Pipelining
- An example
- Introduction to the ddd debugger
- Exercise #1
- Friday
- Pipelining
- Introduction to control structures
Other Notes:
Week 3: Monday, February 2
Topics:
- Implementation of basic control structures
Reading:
- Tanenbaum, chapter 2
- Paul, chapter 2, also section 14.4 (MIPS architecture). You might
also want to start looking at chapter 3.
Schedule:
- Monday:
- Condition Codes
- Compare and Branch statements
- While/do
- Annulled branches
- Wednesday:
- Thursday
- Introduction to binary numbers and binary arithmetic
- radixes 2, 8, 10, 16
- converting from one radix to another (with shortcuts)
- binary addition and subtraction
- Friday
- Binary arithmetic
- Multiplication and division
- Logical operators
- Integer representation
Other Notes:
Week 4: Monday, February 9
Topics:
- Data Representation and Digital Circuits
Reading:
- Tanenbaum, chapter 3, appendices A and B
- Paul, chapters 3, 4, and section 11.4
Schedule:
- Monday:
- Representation of integers: some issues
- Logical operations and bit manipulation
- Wednesday:
- Logical operations and bit manipulation
- Introduction to digital circuits
- Thursday
- More on digital circuits
- Transistors
- Implementation of invertors, nand and nor gates using transistors
- Constructing a digital circuit from a truth table or propositional
expression.
- Friday
- Digital circuits
- Multiplexers and decoders
Other Notes:
- Exam #1 will be next week
Week 5: Monday, February 16
Topics:
- Binary arithmetic and basic data types
- Introduction to digital circuitry
Reading:
- Tanenbaum, chapter 2, 3, appendices A and B
- Paul, chapters 3, 4, section 11.4
Schedule:
- Monday:
- Wednesday:
- Adders
- More on data representation
- Thursday
- Friday
Other Notes:
Week 6: Monday, February 23
Topics:
- Binary arithmetic and basic data types
- Introduction to digital circuitry
Reading:
Schedule:
- Monday:
- Wednesday:
- Character Data
- Floating Point
- Thursday
- Friday
- No class - family illness
Other Notes:
Week 7: Monday, March 1
Yr Dydd Dewi Sant yn hapus iawn i bawb!
Topics:
- Subroutines and recursion
- Basic data structures
Reading:
Schedule:
- Monday:
- Call, save, ret and restore
- Wednesday:
- Load and store operations
- Use of variables on the stack.
- Thursday
- Friday
- Basic Data Structures: The array
- Exercise set #5 due
- Exercise set #6 assigned
- I will not be attending a conference Friday, March 5, as originally
planned.
Other Notes:
Week 8: Monday, March 8
Topics:
Reading:
Schedule:
- Monday:
- Basic Data Structures: Multi-dimensional arrays
- Wednesday:
- Basic Data Structures
- Records and structures
- Thursday
- Friday
Other Notes:
- Spring Break is next week!
- Exercise Set #6 will be due Wednesday, 3/24, after our return from Spring break.
- Exam #2 will be Friday, 3/26, the Friday following Spring Break. Look for a review sheet soon.
Week 9: Monday, March 15
Topics:
- Spring Break! No classes or office hours.
Week 10: Monday, March 22
Topics:
- Subroutines and recursion
Reading:
Schedule:
- Monday:
- Subroutines and recursion
- Wednesday:
- Subroutines and recursion
- Thursday
- More digital circuitry: memory
- Review for exam #2
- Friday
Other Notes:
- Exercise set #6 will be due Wednesday, 3/24.
- Exam #2 will be Friday, 3/26.
Week 11: Monday, March 29
Topics:
Reading:
- Tanenbaum chapters 1 - 3
- Paul chapters 7 - 8
Schedule:
- Monday:
- Wednesday:
- Latches and flip-flops
- The clock
- Thursday
No class: technical difficulties
- Friday
Other Notes:
- Exercise set #7 will be assigned Monday of next week.
Week 12: Monday, April 5
Topics:
- Instruction formats
- The assembler
- Assembler directives
Reading:
- Paul, chapters 8 - 11
- Tanenbaum, chapters 5, 7
Schedule:
- Monday:
- Wednesday:
- Thursday
- Friday
Other Notes:
- Because of several meetings this week, office hours need to be re-arranged as follows:
- Monday: 10:00 AM
- Wednesday: 10:00 AM
- Thursday: 4:00 PM
- Tuesday (11:00) and Friday (4:00) as usual
- Next week: Floating point instructions
- Exam #3 will be Friday, April 30.
Week 13: Monday, April 12
Topics:
- Instruction formats
- The assembler
- Assembler directives
Reading:
- Paul, chapters 8, 9, 11
- Tanenbaum chapters 5, 7
Schedule:
- Monday:
- .text and .data
- Evaluations
- Wednesday:
- More on directives (psuedo-ops)
- Floating point
- Exercise 7 due (to be picked up)
- Thursday
- Friday
- Floating point
- Exercise 8 due (in class)
- Exercise 9 assigned (if not earlier)
Other Notes:
- Exam #3 will be Friday, April 30.
Return to CSci
281 Home Page