This course lies at the core of computer science and aims to teach you effective ways to represent data and to develop and implement most important computer algorithms in use today. You will learn how the choice of data structures and algorithm design methods impacts the performance of your code. This course will also make you proficient in C++ and solidify your Object Oriented Design concepts.
Credits: 4
Small URL for this site: cop.ufadventure.com
Lectures: MWF 8th Period (3-3:50PM) Little Hall 101
Final Exam: Wednesday, April 24th, 3PM (in-class)
| Discussion: | M9 (4:05PM) in CSE119 for section 6723 T8 (3PM) in CSE222 for section 1079 |
| W | Day | Topic | Resources/Activities |
|---|---|---|---|
| 1 | Monday 1/7 | Syllabus - Lecture Slides (Course Motivation) First assignment posted | Syllabus Discussion (Development Environments) Resources from last year's class |
| Wednesday 1/9 | Transitioning Java -> C++ Slides | Read Chapter 1 | |
| Friday 1/11 | Strings and Vectors Slides | ||
| 2 | Monday 1/14 | Insertion Sort and Complexity - Slides | Skim through Chapters 2-4 Discussion (Compilation) |
| Wednesday 1/16 | Linear Lists Slides | Read Chapter 5 HW (not graded): 5.5, 5.17, 5.22, 5.25, 5.26 |
|
| Friday 1/18 | Iterators and Chains Slides | ||
| 3 | Monday 1/21 | Martin Luther King Holiday - Makeup Discussion 8:20PM Tuesday, CSE 121 | Discussion (Pointers) |
| Wednesday 1/23 | Applications of Chains Slides | Read Chapter 6 HW (not graded): 6.4, 6.16 |
|
| Friday 1/25 | First assignment due before class (worth 10% of grade) - Distribution - (student) Solution posted (.zip) Optional extremely open-ended extra credit Updated: Extra opportunity for people who received <75% on Assignment 1 Simulated Pointers Slides Execution Time Measurement Slides | ||
| 4 | Monday 1/28 | Dictionaries - Slides Second Assignment posted - Update: JSON Parsing Example added | Discussion (Project 2) |
| Wednesday 1/30 | Overflow Handling - Slides | Read Chapter 10 HW (not graded) 10.17, 10.33, 10.48 Feel free to ignore Skip Lists |
|
| Friday 2/1 | LZW Compression - Slides | Hackathon Infosession: Thursday at 6:15pm in CSE 114 Competition Saturday at 3PM in Turlington L005 (Additional Info) |
|
| 5 | Monday 2/4 | Matrices - Slides | CDW - Monday 6-10PM at the Hilton - lots of jobs and free food - Flyer Pre-register (so they'll buy more food) Discussion Slides |
| Wednesday 2/6 | Stacks and applications - Slides | Read Chapter 7 HW: 7.41 |
|
| Friday 2/8 | More Stacks - Slides | ||
| 6 | Monday 2/11 | Queues and applications - Slides | Read Chapters 8 and 9 HW: 8.22, 9.34 Rat-in-maze linked variant (tunnels.cpp) |
| Wednesday 2/13 | Trees, binary trees, and properties - Slides | ||
| Friday 2/15 | Binary tree representation and operations - Slides Second Assignment due before class (worth 15% of grade) - Distribution - (student) Solution posted (.zip) | ||
| 7 | Monday 2/18 | Binary tree traversal methods - Slides | reconstruct.cpp |
| Wednesday 2/20 | First Exam (in-class) (worth 15% of grade) - Solution - Distribution Practice Exam (Solution) Test Study Guide | ||
| Friday 2/22 | Applications of Trees - Slides Third Assignment posted Please do not cheat on this one | Read Chapters 11 HW: 11.12, 11.20, 11.27, 11.29, 11.30, 11.45, 11.64 |
|
| 8 | Monday 2/25 | Application of priority queues. Min and max heaps - Slides | Discussion (Trees/XML) Slides |
| Wednesday 2/27 | Min/max heaps cont., Leftist trees - Slides | Read Chapters 12, 13 HW: 12.23, 12.36, 12.39, 12.42, 13.25, 13.30 |
|
| Friday 3/1 | Winner/Loser/Tournament Trees - Slides | ||
| X | Monday 3/4 | Spring Break | |
| Wednesday 3/6 | Spring Break | ||
| Friday 3/8 | Spring Break | ||
| 9 | Monday 3/11 | Binary Search Trees - Slides | |
| Wednesday 3/13 | Balanced/AVL/Red-Black Trees and Graphs - Slides | Read Chapters 14, 15 | |
| Friday 3/15 | Graph operations and representation - Slides Third Assignment due before class (worth 15% of grade) Assignment 3 Solution - Distribution | ||
| 10 | Monday 3/18 | Breadth-first and depth-first search - Slides | Read Chapter 16 HW 16.21, 16.24, 16.28, 16.32, 16.48, 16.50, 16.52 UF/Sears Internship meeting (free pizza), 4th Period, details |
| Wednesday 3/20 | Second Exam (in-class) - Exam - Solution (code) Solution (drawing) (worth 15% of grade) - Distribution Practice Exams One double-sided hand-written cheat sheet allowed. Dramatic Reading of Student's Tribute to Second Exam | ||
| Friday 3/22 | Greedy Method - Slides Fourth Assignment posted | Read Chapter 17 17.4, 17.13, 17.17, 17.41 |
|
| 11 | Monday 3/25 | Single source all destinations - Slides | Discussion Slides |
| Wednesday 3/27 | Minimum-cost spanning tree - Slides | ||
| Friday 3/29 | Divide and conquer - Slides Project 4 Route Specification Extra Credit Deadline | Read Chapter 18 HW 18.3, 18.14 |
|
| 12 | Monday 4/1 | Sorting with divide and conquer - Slides | Discussion Slides |
| Wednesday 4/3 | Selection and closest pair of points - Slides | ||
| Friday 4/5 | Dynamic Programming - Slides | Read Chapter 19 HW 19.6, 19.18, 19.24 Topcoder tutorials for DP, greedy algorithms, etc. here |
|
| 13 | Monday 4/8 | More Dynamic Programming - Slides | Discussion Slides Alternative map approach to DP: mapApproach.cpp |
| Wednesday 4/10 | Matrix multiplication chains - Slides | Reading on Edit Distance | |
| Friday 4/12 | All pairs shortest paths - Slides | ||
| 14 | Monday 4/15 | Single source shortest paths - Slides Due date (3PM) for early-graded submissions for Project 4 (submit to e-learning - ask for early grading in the comments - grades returned by Wednesday) | |
| Wednesday 4/17 | Hard Problems - Slides | Enrichment (not on exam): Chapter on Backtracking | |
| Friday 4/19 | Backtracking/Branch and Bound - Slides Fourth Assignment due before class (worth 15% of grade) Late Penalty: 1pt per hour after deadline | Enrichment: Chapter on Branch and Bound | |
| 15 | Monday 4/22 | Exam Review | |
| Wednesday 4/24 | Final Exam (in-class) (worth 15% of grade) Sample Exams |
AdventureAnywhere - Non-profit aiming to provide a worldwide network of ecotourism clubs, outfitters, and guide services. (PHP/MySQL)
FoodNextDoor - Buy food from your neighbors. (PHP/MySQL)
Microenterprise Templates (pdf) - System to aid in starting/running microenterprises. (Pre-Development)