CSCI 3110: Algorithm and Data Structures

Sect. 001

Lecture

MTWR

0945 - 1145

KOM 321


Tentative Schedule

 

Date

Lecture Topic

Homeworks

Open Lab Assignments

Links to Documents

Week 1

Jul. 8

Introduction: Syllabus, SVN Tutorial: Example used in VS tutorial

HW1 (due: Jul 11)

OLA1 (Due: 4:00am, Jul 13)

IndividualRepostioryAccess
Tortoise SVN Tutorial
HowToEditIgnoreList
ProgrammingStyles

Smart Pointers

Jul. 9

Review of 2170: function, pointer, array, structure, unscoped/scoped enumeration (example

 

 

Jul. 10

Review of 2170: passing arrays/pointers as function parameter, objects & classes, access specifiers (public vs. private), constructor (syntax, implementation, initializer list), default constructor, copy constructor

 

 

Enumeration.pdf
Better types in C++11

Jul. 11

Review of 2170: copy/move constructor, destructor, instance/class variables, methods, and constant methods. static methods, function overloading,  Examples: (CheckingAcct.h, CheckingAcct.cpp)

HW2 (Due: Jul. 16)

OLA2(Due: 4:00am,Jul 17)

Move Semantics
Static Members

Week 2

Jul. 15

Review of 2170: operator overloading (Date.h, Date.cpp) overload assignment operator

 

 

operator overloading

Jul. 16

Review of 2170: function template (example), class template(Queue.h, Queue.cpp), Container, Iterator(SQueue.h, SQueue.cpp)

 

 

 

Jul. 17

Review of 2170: Home made iterator (SQueue.h, SQueue.cpp), Exception (example, benefits), inheritance (public, protected, private members, public/protected/private inheritance)

HW3 (Due. Jul. 22)

OLA3(Due: 4:00am, Jul. 23)

 

Jul. 18

1st Exam (Topics covered in July 8 -- July 16)

 

 

 

Week 3

Jul. 22

Advanced C++ Topics: overriding, virtual method (example), constructor/destructor order (example), Shape Example

 

 

 

Jul. 23

Advanced C++ Topics: static binding, dynamic binding, polymorphism (example),

HW4(Due: Jul. 25)

OLA4 (Due: 4:00am, Jul. 29)

vituality
overriding

Jul. 24

Algorithm efficiency and Sorting: Big-O, Recursion

 

 

 

Jul. 25

Algorithm efficiency and Sorting: Selection/Bubble/Insert/Merge sort

 

 

 

Week 4

Jul. 29

Binary Search Tree: Quick sort, binary tree, tree concepts, full/complete binary tree, binary search tree

HW5 (Due: Jul. 31)

OLA5 (Due: 4:00am, Aug. 1)

 

Jul. 30

Binary Search Tree: tree representation, search, Traversal, Insert, Copy, Delete (Implementation)

 

 

function wrapper in C++
lambda function
bind

Jul. 31

Heap and priority queue: insert of BST, max heap, semi_heap, heap operation (insert, delete), heap sort, heap source code

HW6(Due: Aug. 5)

OLA6(Due: 4:00am, Aug. 5)

 

Aug. 1

2nd Exam (Topics covered between July 17 -- Jul. 30)

 

 

 

Week 5

Aug. 5

HashTable: hash table (Implementation Example)

HW7(Due: Aug. 6)

OLA7 (Due: 8:00pm, Aug. 7)

 

Aug. 6

Graph: graph representation, DFS and BFS

 

 

Aug. 7

Dynamic Programming and Greedy Programming: Prim's and Kruskal's algorithm, Dijkstra's algorithm, dynamic programming

Graph questions

 

 

Aug. 8

Final Exam: 0945 - 1145

 

 

 

Class Resources

Syllabus

Please take your time to go through the syllabus carefully and with patience.

$PUB

All class examples, assignments, and source codes are available in this directory.