Syllabus
Schedule
Week | Saturday | Monday | Lecture Topic | HW Topic | HW Release | TA1 | TA2 | Occasion |
---|---|---|---|---|---|---|---|---|
2 | 7/05 | 7/07 | Introduction | a+b: introducing the framework | A1 | Mirzajani | Hashemi | |
3 | 7/12 | 7/14 | Algorithmic Warmup - slides | Programming Challenges | A2 | Sheikhi | Nobakhtian | |
4 | 7/19 | 7/21 | Greedy Algorithms - slides | Algorithmic Warmup | A3, W1 | Hosseini | Namazi | |
5 | 7/26 | 7/28 | Divide and Conquer - slides | Greedy Algorithms | A4 | Zeynolabedin | Rostamkhani | Saturaday Off |
6 | 8/03 | 8/05 | Dynamic Programming 1 - slides | Divide and Conquer | A5 | Lotfollahi | Nazarzadeh | |
7 | 8/10 | 8/12 | Dynamic Programming 2 | Programming Exam 1 | E1 | Mirzajani | Hashemi | |
8 | 8/17 | 8/19 | Dynamic Programming 3 | Dynamic Programming 1 | A6, W2 | Sheikhi | Nobakhtian | |
9 | 8/24 | 8/26 | Basic Data Structures | Dynamic Programming 2 | A7 | Hosseini | Namazi | |
10 | 9/01 | 9/03 | Dynamic Array + Amortized Analysis | Basic Data Structures | A8 | Zeynolabedin | Rostamkhani | |
11 | 9/08 | 9/10 | Priority Queue and Disjoint Set | Priority Queue and Disjoint Set | A9 | Lotfollahi | Nazarzadeh | |
12 | 9/15 | 9/17 | Hashing | Hash Table and Hash Functions | A10 | Mirzajani | Hashemi | |
13 | 9/22 | 9/24 | BST 1 | BST | A11 | Sheikhi | Nobakhtian | |
14 | 9/29 | 10/01 | BST 2 | Graph1 | A12,W3 | Hosseini | Namazi | |
15 | 10/06 | 10/08 | Graph 1, Graph 2, RB Tree | Programming Exam 2 | E2 | Zeynolabedin | Rostamkhani |
All course material can be found here.
- A*: Programming Assignments
- E*: Programming Exams
- W*: Written Assignments
Grading Policy
- 20%: Weekly Quizes
- 45%: Programming Assignments
- 10%: Written Assignments
- 15%: Programming Exams
- 10%: Final Written Exam
- +10%: Extra Credit Project
Students must receive at least half the points on all class modules (above) for a passing grade. Extra credit only applicable to students who have received a passing grade.
Academic Dishonsty Policy
Any student involved in cheating (provider or receiver) will receive a failing grade along with a report to the University Decipline office. If you don’t have the time to help your friend, do not provide them with the answer. You will fail the course! Never, ever show your code or homework to anyone.
Programming Exam
Programming Exams will be held on Monday for the week of the exam (from the schedule above) from 12:30 to 5:30pm.
Weekly Quizes
Quizes will be held every Monday for half an hour and will be graded in GradeScope.
Assignments
Written and programming assignment submission are not accepted after the deadline. If you are late, submit what you have and start working on the next assignment.
Attendance Policy
According to univesity guidlines, students who miss more than 6 sessions are not eligable for a passing grade. University guidelines will be followed. If you cannot attend a session always contact the instructor ahead of time with a valid reason. Depending on your reason and record, the instructor may decide to not count your absency for that session.
TA Classes
TA Classes will be held on Mondays from 12:30 till 2:30 in room -120.
TA Office Hours
Location: Basement Computer Lab (site), TA Help Desk #1