Key Documents | Handouts | Problem Sets | Projects | Annotated Slides | Diagnostic Exams

Announcements

Date Announcement
January 26 Seating assignments for tomorrow's exam are posted in GradeScope. If your assignment has a problem, you must alert me by using their "regrade" feature by 8PM tonight.

Remember to bring your UCI ID to the exam tomorrow.
January 17 Friday's lecture slides were accidentally labeled as a second "Lecture 2." The error has been fixed.
January 9 There was a typo in the syllabus for the Zybooks code; the code is UCII&CSCI46ShindlerWinter2023
January 9 Welcome to ICS 46 for Winter 2023! Be sure to read the syllabus and the related common policy documents.

Key documents about the course:

Students enrolled should also have access to the EdDiscussion board for the class, which will be used frequently. Homework solutions and lecture supplements will appear on the resources page there. Click the downward-facing arrow in the top-right of the EdDiscussion window to access those.

Lecture Handouts:

The following are digital copies of handouts that I plan to provide in lecture. I recommend you have a printed copy (which will likely be provided in the first lecture on each topic) and take notes in pen or pencil (not digitally).

Problem Sets:

Problem Sets are typically due on Wednesdays. Problem Sets are always to be submitted to GradeScope. For instructions on how to get access to the course GradeScope, consult the syllabus, linked above. Be sure to also read carefully the section about artifact submission policies and the section about academic honesty; you are responsible for following those.

Programming Projects:

First, please read the
ICS 46 Lab Manual.

If you are submitting late (within the period allowed), or otherwise do not want your last commit pushed prior to the deadline to be graded, please use this form. You will need to be signed in to your UCI account to access this. The plan is that projects will always be due on a Friday. Projects other than project 0 are eligible to be submitted up to 99 hours late, as described in the lab manual.

Annotated Slides

Lecture number 8am slides 9am slides Lecture topic
Lecture 2 8am 9am Recursion (soda cans, triominoes)
Lecture 3 8am 9am Recursion (triominoes, n-queens)
Lecture 4 8am 9am Graph Traversals (DFS, BFS)
Lecture 5 8am 9am Analysis of Algorithms I
Lecture 6 8am 9am Analysis of Algorithms II
Lecture 7 8am 9am Skip Lists
Lecture 8 8am 9am Introduction to Hashing
Lecture 9 8am 9am Hashing II
Lecture 10 8am 9am Hashing III: Cuckoo Hashing
Lecture 11 8am 9am Introduction to Binary Search Trees
Lecture 12 8am 9am Introduction to Level-Balanced Binary Search Trees.
Lecture 13 8am 9am Level-Balanced Binary Search Trees II.
Lecture 14 8am 9am Level-Balanced Binary Search Trees III.
Lecture 15 8am 9am Heaps
Lecture 16 8am 9am Dijkstra's Algorithm
Lecture 17 8am 9am Using Graphs to Solve Problems
Lecture 18 8am 9am Intro MST and Topological Sort
Lecture 19 8am 9am Using Graphs to Solve Problems Part 2
Lecture 21 8am 9am Sorting Part 1
Lecture 22 8am 9am Sorting Part 2
Lecture 23 8am 9am Sorting Part 3 (QuickSort)

Diagnostic Exams:

I recommend taking these in as close to exam-like circumstances as you can. Avoid reading them until you're ready to begin. Print double-sided with a staple in the top-left corner.