Date
|
Lecture
|
Notes
|
08/23
|
Course Introduction
|
|
Part I. Basic C Language
|
08/26
|
Overview of C
|
slides / hello.c
|
08/28
|
Overview cont, Data Types
|
signed unsigned, man 3 printf printf, scanf, adder.c
|
08/30
|
Data Types cont
|
slides
Endianness
|
09/02
|
No class (Labor Day)
|
|
09/04
|
Control Flow
|
slides,
examples,
dangling else
|
09/06
|
Control Flow cont, Operators
|
slides,
Operators
|
09/09
|
Array, Operators Cont
|
slides, Array Out of bounds in C, array.c, initialize, Type Conversions
|
09/11
|
String
|
slides,
Bitwise Operators
|
09/13
|
Functions, Variable Scope
|
slides,
scope,
Strong and Weak Symbols
|
09/16
|
Functions, Variable Scope, Basic Pointers
|
slides,
slides
Return Array?
|
09/18
|
Exam1 Exercise
|
|
09/20
|
Class Cancelled
|
|
09/23
|
Pointer
|
slides,
Segmentation
|
09/25
|
Pointer
|
slides,
Segmentation Fault,
Debug Segmentation Fault
|
09/27
|
Exam1
|
|
09/29
|
Pointer Exercises
|
1,
2,
2',
3,
4,
sizeof
|
10/02
|
strcmp implementation
|
string literal
string.h
strcmp.c
|
10/04
|
strlen implementation, strcpy, memcpy,
|
strcpy vs memcpy,
strlen.c,
strlen tricks
Premature Optimization
VLA
|
10/07
|
Structures
|
slides,
C Namespace
|
10/09
|
Exam2 Exercise
|
problems
|
10/11
|
Basic file I/O
|
slides,
example1,
example2
|
10/14
|
Dynamic Memory Allocation
|
slides
|
10/16
|
Dynamic Memory Allocation
|
2d allocation 1,
2,
|
10/18
|
Exam2
|
|
10/21
|
Union, Structure
|
union,
structure padding,
structure offset,
union vs. struct,
line input
|
Part II. Basic Data Structures, Algorithms
|
10/23
|
Linked List (create, search)
|
slides,
Macros,
1,
|
10/25
|
Linked List cont (free, print, insert)
|
linkedlist1.c
|
10/28
|
Linked List cont (delete, find -k, reverse)
|
linkedlist2.c
|
10/30
|
Abstract data structure, Stack, Queue, Linked List synthesized by Array
|
|
11/01
|
Stack, Queue contd.
|
stack using array
stack using linked list
|
11/04
|
Queue contd., Doubly Linked List,
|
queue using array
queue using linked list
|
11/06
|
Project1 source code
|
|
11/08
|
Sentinels, Map by array index, Rooted Tree Representations
|
localtime.c
|
11/11
|
Binary Search Tree (Definition, Search, Insert)
|
Codes As Homework in Project2, bst.c
|
11/13
|
Binary Search Tree (Delete, Successor)
|
Codes As Homework in Project2
|
11/15
|
Binary Search Tree (Traverse)
|
traverse
bst_stack_traverse.c
|
11/18
|
Binary Search Tree (Traverse w/ stack), Graph Basics
|
bst.pdf
graph.pdf
|
11/22
|
Exam3 Exercise
|
|
11/22
|
Exam3
|
|
11/25
|
Sorting (Binary Search, Selection Sort, Bubble Sort)
|
selection sort,
bubble sort
|
11/27
|
No class
|
|
12/02
|
Sorting (Insertion Sort, Quick Sort, Merge Sort)
|
insertion sort,
quick sort,
merge sort
|
Part III. Basic OOP Concepts in C++ (skipped)
|
12/09
|
Final Exam
|
|
University calendar: