EECE.3220: Data Structures

Instructor: Dr. Michael Geiger

Spring 2017

 

Course Schedule

This schedule contains a tentative schedule of topics we will cover throughout the term; this schedule is subject to change. As the semester progresses, I will update the schedule to show the actual dates on which we cover material, as well as provide links to the lecture slides and programming assignments. Note that most lectures are associated with some section(s) of the textbook, which I suggest you read prior to class.

 

Please note that the exam dates are fixed--the first exam will be held on Friday, February 17 in class, the second exam will be held on Friday, March 31 in class, and the third exam will be held Friday, May 5, from 3-6 PM in our normal classroom (Ball 412).

 

Week Date (Mon.) Lecture Topics Handouts

Echo360 Recordings

Reading Assignments

1

1/16

 No Monday lecture--Martin Luther King, Jr. Day

 1. Course introduction; going from C to C++

 2. C to C++: basic I/O

 Syllabus

 Lec. 2 questions

 Lec 1 did not record

 Lecture 2

 W: 2.2, C.6-C.11, variables and types, operators

 F: Program structure, basic I/O

 

2

1/23

 3. C to C++: structs

 4. C to C++: more on structs, .h/.cpp files

 5. Functions; pass by value/address/reference

 Lec. 3 questions

 Lec. 4 questions

 Lec. 5 questions

 Lecture 3

 Lecture 4

 Lecture 5

 M: Structures

 W: No new reading

 F: 2.4, C.11, functions

 Program 1

 (due 2/3)

 P1 grading

3 1/30

 6. Manipulators, other input details

 7. Algorithmic complexity

 8. Algorithmic complexity (cont.)

 Lec. 6 questions

 Lec. 7 questions

 Lec. 8 questions

 Lecture 6

 Lecture 7

 Lecture 8

 M: setprecision, showpoint

 W: 10.4

 F: No new reading

 HW 1

 (due 2/10)

 HW 1 Solution

4 2/6

 9. ADT intro

 10. Classes: members, accessors, mutators

 11. Classes: calling member functions, constructors

 Lec. 9 questions

 Lec. 11 questions

 Lecture 9

 Lecture 10

 Lecture 11

 M: 3.1-3.3

 W: 4.2, classes

 F: No new reading

 Program 2

 (due 2/21)

 P2 grading

5 2/13

 Monday lecture cancelled due to snow

 12. Exam 1 Preview

 Friday, 2/17: EXAM 1

 

 Lecture 12

 No new reading

 

6 2/20

 No Monday lecture--Presidents Day

 In-class office hours Tuesday, 2/21

 13. More class details

 14. Lists: generic list ADT, array-based lists

 Lec. 13 questions

 Lec. 14 questions

 Lecture 13

 Lecture 14

 W: No new reading

 F: 6.1-6.2

 

7 2/27

 15. Lists: overloaded operators, friend functions

 16. Lists: more on overloaded operators

 17. Dynamic array-based lists

 Lec. 15 questions

 Lec. 16 questions

 Lec. 17 questions

 List code:

 Static: .h | .cpp

 Dynamic: .h | .cpp

 Lecture 15

 Lecture 16

 Lecture 17

 M: 4.5, overloaded operators (top of linked page)

 W: No new reading

 F: 3.4, review 4.5, dynamic memory allocation

 Program 3

 (due 3/8)

 P3 grading

8 3/6

 18. Linked lists: basic details and algorithms

 19. Linked lists: constructor, empty, output functions

 20. Linked lists: insert/delete, destructor, copy constructor, assignment operator

 Lec. 18 questions

 Lec. 19 & 20 Qs

 Linked list code:

 LList.h | LList.cpp

 (.cpp file complete as of 3/10)

 List_tester.cpp

 (main program to test LList)

 Lecture 18

 Lecture 19

 Lecture 20

 M: 6.4-6.5

 W: No new reading

 F: 11.1

 

9 3/13

 No classes--Spring Break

   

 

 
10 3/20

 21. Stacks

 22. Queues

 23. Queues (continued)

 Lec. 21 questions

 Lec. 22 questions

 Lec. 23 questions

 Lecture 21

 Lecture 22

 Lecture 23

 M: 7.1-7.4

 W: 7.5, 8.1-8.3

 F: No new reading

 

11 3/27

 24. Function/class templates; recursion intro

 25. Exam 2 Preview

 Friday, 3/31: EXAM 2

 Lec. 24 questions

 Lecture 24

 Lecture 25

 M: 9.1-9.3, 10.1-10.4

 W, F: No new reading

 

12 4/3

 26. Strings

 27. Exam 2 Review

 Wednesday, 4/5--last day to withdraw

 28. Trees

 Lec. 26 questions

 Lec. 28 questions

 Lecture 26

 Lecture 27

 Lecture 28

 

 Program 4

 (due 4/14)

 P4 grading

13 4/10

 29. More on binary trees; sorting algorithms

 30. Heaps

 31. Priority queues; more sorting algorithms

 Lecture 29

 Lecture 30

 Lecture 31

 

14 4/17

 No Monday lecture--Patriots' Day

 32. Sorting examples

 33. Hash tables

 Lec. 32 questions

 Lecture 32

 Lecture 33

 

 Program 5

 (due 4/26)

 P5 grading

15 4/24

 34. Inheritance

 35. Balanced BSTs

 36. Exam 3 Preview

 Classes end Friday, 4/28

 Lecture 34

 Lecture 35

 Lecture 36

 

 Program 6

 (extra credit; due 5/3)

  Finals

 Q & A session: Thursday, 5/4, 9-10:30 AM, Ball 326

 EXAM 3: Friday, 5/5, 3-6 PM, Ball 412

 Course evaluation form--must be completed before exam

 


Last updated 05/06/2017 12:48 PM