Download presentation
Presentation is loading. Please wait.
Published byLeslie Mills Modified over 9 years ago
1
Announcements Homework #8 due Monday 6:00pm. – extra credit tasks are described at bottom of assignment page Upcoming office hours: – Tomorrow: Sheng 12-1:30pm, Greg 1:30-3pm – Saturday: Greg 2-4pm – Sunday: Chris 2-4pm – Monday: Sheng 12-2pm, Chris 2-4pm Please fill out the course evaluations!
2
Today Preview of CIT 595 Final course grading Final exam stuff
3
CIT 595 “Digital System Organization & Design” Originally very hardware focused Then some OS concepts introduced Then pretty much an OS course Now a systems programming course
4
What you’ll learn in CIT 595 More C (function pointers) C++: “C with objects” Linux systems programming – Interacting with the operating system – Parallelism and synchronization – Inter-process communication – Networking
5
What to expect from CIT 595 A lot of programming No, seriously, a LOT Longer, more challenging programming assignments More application and less theory
6
Grading Guidelines Homeworks: 50% Lab assignments: 10% Midterm exam: 15% Final exam: 25% Current weighted average: 90.3% Projected weighted average: 86.9% 97+A+ 93-97A 90-93A- 87-90B+ 83-87B 80-83B-
7
Final Grading Homework #6 should be graded by this weekend Homeworks #7 and 8 should be graded by the final exam date (Dec 17) Final exams should be graded by Dec 19 Final course grades should be posted on Dec 21
9
Final Exam Logistics Monday, Dec. 17, 6-8pm Location: DRL A6 You can use your book, notes, etc. No electronic devices! Review session... when? Sandwiches, sodas, snacks, etc. will be provided from 5-6pm that evening in Levine 307
10
Final Exam Material Patt & Patel chapters 2-14, 16, 18-19 – in other words, pretty much the whole book except for chapters 1, 15, and 17 x86 architecture (Appendix B) Data structures No UNIX stuff from lab! No computer science history! About 25% pre-midterm stuff, 75% stuff from after the midterm
11
Format of the exam Multiple-choice definitions/concepts Short answer and problem solving – Like midterm and questions from book Understanding C and assembly code Modifying C and assembly code Writing C code (around 15-20 lines max) – no writing LC-3 from scratch!
12
Preparing for the exam Documents in Blackboard: – study guide (list of questions from book) – practice questions (and solutions) – solutions to homework assignments Form a study group Ask questions on Piazza
13
Computer Numbers (Chp. 2) Unsigned binary integers – Decimal-to-binary conversion – Hexadecimal numbers – Unsigned binary arithmetic Signed binary integers – Sign/magnitude – Two’s complement – Overflow
14
Computer Numbers (cont.) Floating point representation Logical operations and bit vectors Character representation – ASCII – Unicode
15
Digital Logic (Chp. 3) p-type and n-type transistors NOT, AND, and OR gates Sum-of-products algorithm
16
Combinational Logic Circuits (Chp. 3) Adder (1-bit, 4-bit, n-bit) Decoder: n inputs, 2 n outputs Demultiplexer: 1 input, n select lines, 2 n output Multiplexer: 2 n inputs, n select lines, 1 output
17
Memory (Chp. 3) R-S Latch: depends on “state” Gated D Latch: single bit of memory Register: some number of Gated D Latches that form a single unit of memory
18
von Neumann Architecture (Chp. 4) Memory – address space vs. addressability – MAR and MDR Control Unit – fetch, decode, execute – IR and PC – ALU, registers
19
LC-3 Instruction Set Architecture (Chp. 4) Instruction format – Opcode – Operands Translating from assembly language to machine language Types of instructions & what they do – ALU operations – Data movement operations – Control operations
20
x86 Architecture (Appx. B) How is it different from LC-3? – addressability – address space – number of registers – size of registers – number of operations – size of instructions
21
Assembly Language (Chp. 7) Symbol table Finding and fixing bugs What does this program do? How can this program be improved? Relation with higher-level language (like C) BLKW, FILL, and STRINGZ
22
Traps, Interrupts, Subroutines (Chp. 8-9) How are subroutines called? How does the program know where to go back to? How do traps work? How does the program know where to go back to? How do interrupts work? How is the state saved? What happens when the handler finishes? Traps: GETC, IN, OUT, PUTS, HALT
23
Memory and the Stack (Chp. 10) What is the stack used for? What is the stack pointer? Frame pointer? What values go on the stack when a function is called?
24
C Basics (Chp. 11) Compilation process – Preprocessor – Compiler – Linker Anatomy of a C program Primitive Datatypes
25
Variables and Operators (Chp. 12) Legal variable names Mathematical operators Assignment shortcuts Scope printf and scanf
26
Loops & Conditionals (Chp. 13) Logical operators Comparison operators True & False if, if/else while, do/while, for
27
Functions (Chp. 14) Function declarations/prototypes Input & Output Call-by-reference vs. Call-by-value
28
Arrays & Strings (Chp. 16) Declaring and initializing arrays Indexing arrays Declaring strings Null-terminated strings String functions – strlen, strcmp, strcat, strcpy
29
What gets printed? 1 char values[] = { '5', 73, '3', 0 }; 2int x = values[values[values[3]]- values[2]]; 3 int y = (char)x - '0'; 4 int z = values[y]; 5 if (z & values[z]) z = ++z; 6 printf(“z is: %d\n”, z);
30
1 int one(int a, int b) { 2 int k, t; 3 k = a - b; 4 t = a + b + 1; 5 if (k % 2 == 0) return t; 6 else return 0; 7 } 8 9 int two(int x, int y) { 10 int m; 11 return m + x + y; 12 } 13 14 main() { 15 int result = two(5, one(4, 3)); 16 printf(“result is %d\n”, result); 17 }
31
Pointers (Chp. 16) pointer syntax passing pointers as function parameters pointers vs. arrays vs. strings
32
1 int apple; 2 int *ptr; 3 int **ind; 4 ind = &ptr; 5 *ind = &apple; 6 **ind = 123; 7 ind++; 8 *ptr++; 9 apple++; 10 printf(“%d %d %d”, ind, ptr, apple);
33
Structs (Chp. 19) defining a struct typedef pointers to structs
34
Data Structures Linked List Stack Queue Binary Search Tree Hashtable Concepts (how they work) Implementation in C
35
Final Exam Logistics Monday, Dec. 17, 6-8pm Location: DRL A6 You can use your book, notes, etc. No electronic devices! Sandwiches, sodas, snacks, etc. will be provided from 5-6pm that evening in Levine 307
36
Any questions?
37
The end. (thanks!)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.