General InformationInstructor: Dianna Xu , 246A Park Hall, 526-6502
Lab Hours: Mondays or Wednesdays 4-6pm (not both) Office hours: M/Th 4-5pm TA hours: Tuesdays (or Sundays) 8-10pm Texts & Software
Purchase
Reference
|
Week | Topic |
---|---|
1 | Introduction to Unix and C |
2 | types, char, scanf, conditionals and loops, gcc and gdb |
3 | Functions and Scope, program design, the C preprosessor and header files |
4 | pointers, arrays and pointers. Multiple source files, makefile |
5 | pointers and function arguments, File I/O, redirection and pipes |
6 | Strings, strings wrt pointers, string.h, commandline arguments |
7 | Malloc, memory management, multi-directional arrays |
8 | Spring Break! |
9 | Structures, typedef, unions, enums. Linked lists |
10 | Adavanced use of pointers, function pointers, writing large programs |
11 | Low level programming, bitwise ops. Object-oriented programming, intro to C++ |
12 | Arrays, pointers & strings in C++. Data abstraction in C++ using classes. Operator Overloading in C++. Friend functions and classes |
13 | ADT's in C++. |
14 | Implementing Linked Lists in C++. Templates: Function templates and class templates. Exception Handling, Inheritance and subclasses, C++ standard library |
15 | Presentations, Wrap up |
Detailed syllabus will be posted here as the semester progresses
Lab: More unix, tcsh. gcc and gdb
Read: Chapter 6 from L&O, lab02 handout
(due Wednesday 2/13): homework2
All graded work will receive a score out of 100. Guidelines of letter grades corresponding to lab/exam score levels will be given during the semester. At the end of the semester, a total score (to which the corresponding final grade is assigned) will be calculated from a weighted average of all scores according to the following weights:
Programming
Assignments: 70%
Presentation: 15%
Written Homeworks: 15%
Total: 100%
A list of presentation topics and related reading materials will be given out. Each student should hand in a written report as well as do a class presentation and lead class discussion on the topic. More details will be given out during class.