Tentative Schedule for CS2123

 

Week

Dates

Topics

PPT slides

Covered during class time

YOU MUST COMPLETE following before class time

In-Class

Exercise

Recitation Exercise

Class Assign

Week 1

8/21/2018

 

 

 

 

 

 

 

 

8/23/2018

Syllabus,

 

Reviews (typedef, data types, pointers)

 

More About Pointers

Call-by-reference

 

-------

1D Arrays (solve some problems)

 

2D arrays, Help with Sudoku

 

 

 

 

 

 

 

 

 

-------

ch02b-…  slides 1-54

 

 

 

 

 

 

 

 

 

 

 

 

 

----

Watch the videos

ch02-001 to ch02-010

 

 

 

 

exer01-ch02-pointer-basics

 

exer02-ch02-pointer-swap-example

 

 

How to use our systems (VDI, Linux etc.)

 

rec01-ch01-ex02-English-text

 

post 8/20

due 8/27

 

 

 

Watch videos and do the exercises in them

 

We will test you in class

Week 2

8/28/2018

 

 

 

 

 

 

 

 

8/30/2018

Pointers and arrays, Pointer arithmetic,

 

Strings

2D arr and pointers

command line arg

 

 

--------

Structures,

 

Dynamic memory allocation (1D, 2D)

 

 

ch02b-…

slides 55-98

 

 

 

 

 

------

ch02b-…

slides 99-150

 

 

Watch the videos

ch02-011 to ch02-020

 

 

 

 

-------

Watch the videos

ch02-021 to ch02-031

 

 

exer03-ch02-pointer-arith

 

Quiz01

Quiz02

 

---

Quiz03

Quiz04

Quiz05

 

rec02-ch02a-ex06-pointers

 

post 8/27

due 9/3

 

Watch videos and do the exercises in them

 

We will test you in class

Week 3

9/4/2018

 

 

 

 

 

 

 

 

 

 

 

9/6/2018

Standard Interfaces – Libraries 

FILE I/O, String, Math, Char Libraries

 

 

Recursion (just ch04) 

(ch05 is optional)

 

 

 

------

Midterm 1 on

Sept 6, 2018

ch03a-…

slides 1-55

 

 

 

ch04-…

slides

1-30

 

 

------

 

Watch the videos

ch03a-01 to ch03a-03

 

 

Watch the videos

ch04-01 to ch04-03

 

------

Quiz06

 

 

 

 

Quiz07

 

 

 

 

 

-------

 

rec03-ch02b-ex07-dynamic-2D-

 

post 9/3

due 9/10

 

Watch videos and do the exercises in them

 

 

----

Exam day

 

 

 

 Start Data Structure

 

 

 

 

 

Week 4

9/11/2018

 

 

 

 

 

 

 

9/13/2018

Big-O notation Simple   algorithm analysis (O(n),O(n^2),O(nlogn)

-   Selection Sort  

-   Merge Sort

 

-------------

User defined Interfaces – Libraries(ch08a-ch03 in the textbook)

 

ch07:

1-45

 

 

 

 

------

ch08a:

1-25

 

 

 

 

Quiz08

 

 

 

 

-------

Quiz09

 

rec04-ch02c-ex08-struct-dynamic-memory

 

post 9/10

due 9/17

Hw01-Sudoku

 

Post

9/6

Due

9/17

 

---

 

Week 5

9/18/2018

 

 

 

 

 

9/20/2018

Stacks using an abstract data type (ADT) approach and stack applications

 

------

Stacks static array implementation

 

 

Ch08b:

1-38

 

 

 

 

 

Quiz10

 

 

 

Quiz11

 

 

 

 

 

 

 

rec05-ch03-ex02-files

 

compare sort alg

 

post 9/17

due 9/24

 

Hw02-sp-payroll

 

Post

9/17

Due

10/1

 

 

 

Week 6

 

 

9/25/2018

 

 

 

 

 

 

9/27/2018

Stack Implementation using dynamic array,

 

Stack expansion (using dynamic array)

 

------

CopyStack().. under both static size and dynamic size arrays

 

Single Linked List intro

 

 

 

 

 

 

 

-----

 

 

 

 

Ch09a:

1-8

 

 

 

 

 

rec06-ch08a-ch03-ex01-random-h-guess4digit

 

post 9/24

due 10/1

 

 

Week 7

 

 

 

 

10/2/2018

 

 

 

 

 

10/4/2018

Single Linked List

basic version and ADT

Link list ADT header/footer

 

---------

Efficiency of using different ADTs

to implement

buffer ADT

(array, stack)

--------

 

Ch09a:

9-19

 

 

 

------

ch09b:

1-32

 

 

 

 

 

 

Quiz12

 

Quiz12lib

 

----

Quiz13

 

 

rec07-ch08-ex01-stack

 

post 10/1

due 10/8

Hw03-Html-checker

 

Post

10/1

Due 10/15

Week 8

10/9/2018

 

 

 

 

 

 

 

10/11/2018

Linked list for buffer ADT

Implementation  &

Alternative representations: double linked, circular,

 

------

Linear Structures: Usage of linked lists to implement stacks

ch09b:

33-49

 

Ch09b:

50-59

 

 

 

----

ch10:

1-12

 

 

Quiz14

rec08-ch09-linked-list-ADT

 

post10/8

due 10/15

 

Week 9

 

 

 

 

 

10/16/2018

 

 

 

 

 

10/18/2018

Linear Structures: Queues using array and linked lists

(array is SELF-STUDY)

 

--------

Binary Trees

Tree Terminology and Applications

 

Recursion and tree traversals

 

ch10:

13-28

 

 

 

-----

Ch13-Trees1

1-22

 

 

 

 

 

 

 

 

Quiz15

 

rec09-ch09-ex02a-linked-list-search-string

 

post10/15

due 10/22

 

Hw04-setADT

 

 

Post

10/15

Due 10/29

Week 10

10/23/2018

 

 

 

 

 

10/25/2018

Binary Search Tree(BST) with adding/deleting elements

 

------

Graphs

Network/graph Terminology and Applications

 

 

ch13-Trees2

 

 

------

Ch16-Graphs1

1-25

 

 

rec10-ch10-ex01-reverse-queue

 

post10/22

due 10/29

 

Week 11

 

10/30/2018

 

 

 

11/1/2018

Finish up topics and Review for the exam

 

----------

Midterm 2 on

Nov 1, 2018

 

 

 

 

No recit

 

Exam week

No

Assign

Week 12

11/6/2018

 

 

11/8/2018

Alternative representations including adjacency matrix,

adjacency list, ect.

 

Ch16-Graphs1

26-32

 

33-48

 

 

 

 

 

 

Quiz16

Solve sample problems

 

Random check of previous recit

 

Hw05-Binary search

 

Post 11/1

Due

11/19

Week 13

11/13/2018

 

 

 

 

11/15/2018

Traversals: depth-first and breadth-first

 

-----

 Shortest path (Dijkstra's alg)

(OPT: All-pairs shortest path, Floyd-Warshall Algorithm)

 

 

Ch16-Graphs2

 

 

 

Solve sample problems

 

Random check of previous recitations

 

 

 

 

Week 14

11/20/2018

 

 

 

11/22/2018

Trees Balanced AVL

 

 

----

Thanksgiving

no school

 

ch13-Trees2-

1-27 

 

 

 

 

Solve sample problems

 

Random check of previous recitations

Hw06-graphs

 

Post

11/19

Due 12/4

Week 15

 

11/27/2018

 

 

 

 

11/29/2018

AVL cont’d

 

 

 

----

Heap

Heap build & coding (cont.)

 

 

ch13-Trees2-

1-27 

 

-----

ch16-Heap

 

 

 

Solve sample problems

 

Random check of previous recitations

 

 

 

Week 16

12/4/2018

Last class

 

 

 

 

 

 

 

 

 

 

 

12/6/2018

Hashing

-   Hash key generation algorithms

-    Handling collisions (probing, chaining)

 

Review for Final

 

----------

December 6-7 Student Study Days. Classes do not meet.

 

 

ch17-hashing

 

 

 

 

No recit

 

 

 

Final Exam: (in the same classroom) but dates/times are different!

·         If you are in CS2123.003 (TR 11:30--12:45), then the final Exam Time is Monday 10-Dec 9:45 AM - 12:15 PM

·         If you are in CS2123.004 (TR 10:00--11:15):  then the final Exam Time is Tuesday 11-Dec 9:45 AM - 12:15 PM