Welcome to CSE 143: Introduction to Computer Programming II! To learn more about the policies and the structure of this course, please check out our course syllabus.


Feedback is always welcome! You can contact the course staff or submit anonymous feedback.


Do not email the course staff or instructor requesting an add-code for the course. The course staff do not have any add-codes. Please email cse143@uw.edu.


Nov 01

Misc Announcements and Reminder to Vote!

Reminder to Vote (if you can)

If you are registered to vote, make sure you go out and vote before the election ends on Tuesday, 11/2! Make sure you have a plan to vote (Washington Residents) and drop off your ballot before Tuesday. Even though you can vote via the mail, I recommend using one of the dropbox locations if you can to ensure your vote is counted as soon as possible. If you’ll be on campus, there is one right near The Ave at Schmitz Hall!

If you’ve ever wondered why politicians don’t seem to care about the issues people in my or your age group care about, it’s because historically, our age groups are pretty shitty at voting consistently. Make a difference this year by making sure your voice is heard and vote. I know it’s easy to feel like one vote doesn’t make the difference, but margins matter too, even if they result in the same outcome!

So even though we all feel super busy right now, take a little bit tonight or tomorrow morning to look at what you’re voting on and make a plan to drop off your ballot before the 8 pm deadline!

Other announcements

  • Extended deadline for Checkpoint 5
  • Reminders about simulated midterm
See the full announcement on Ed!
Oct 28

AssassinManager and Resub 2 Grades Released

  • Feedback from the Resubmission Form 2 released on Ed.
  • Feedback for Take-Home Assessment 3 has been released on Ed.
See the full announcement on Ed!
Oct 28

Grades Collected in Canvas Gradebook

We have posted all of the marks from this quarter in Canvas Gradebook. These will look a bit weird since we are using a grading system that is not quite supported by the gradebook. Grades in the gradebook will be updated on a weekly basis. You can always view the most up to date feedback on an assessment in Ed.

See the full announcement on Ed!

All Announcements



This is a rough sketch of the quarter and things are subject to change. We can accurately predict the past, but predicting the future is hard!


Anything listed in the “Pre-Class” materials for a day should be read before attending class that day. We will start the discussion each day from the perspective that you have done that day’s reading. If something didn’t make sense from the reading, that’s a great place to start asking questions inside or out of class!

Topic Take-home assessments Checkpoints & Culminating Assessments
Week 1 - Implementing ArrayList
Mon 09/27
Tue 09/28
Wed 09/29
LEC 01 Syllabus and ArrayIntList
Thu 09/30
SEC 01 Welcome & ArrayIntList
resources: handout
Fri 10/01
LEC 02 More ArrayIntList; pre/post conditions; exceptions
Letter Inventory
I.S. by 11:59 pm
Checkpoint 1
Due 11:59 pm
Sun 10/03
Week 2 - Using Collections
Mon 10/04
LEC 03 Lists; Sets; for-each loop
Tue 10/05
SEC 02 Bad ArrayIntList
resources: handout
Wed 10/06
LEC 04 Stacks & Queues
Thu 10/07
SEC 03 Stacks & Queues
resources: handout
Fri 10/08
LEC 05 Arrays of objects; Interfaces
Guitar Hero
I.S. by 11:59 pm
Checkpoint 2
Due 11:59 pm
Sun 10/10
Week 3 - Implementing LinkedLists
Mon 10/11
LEC 06 Linked List Nodes
Tue 10/12
SEC 04 List Nodes
resources: handout
Wed 10/13
LEC 07 LinkedIntLists & loops
Thu 10/14
SEC 05 LinkedLists with loops
resources: handout
Fri 10/15
LEC 08 Advanced LinkedIntList
Assassin Manager
I.S. by 11:59 pm
Checkpoint 3
Due 11:59 pm
Sun 10/17
Week 4 - Using Maps
Mon 10/18
LEC 09 Binary search; complexity
Pre-Class: None!
in-class: pdf pptx
Extra resources Implementing Binary Search Building Java Programs: 13.2
Tue 10/19
SEC 06 Challenging LinkedList practice
resources: handout
Wed 10/20
LEC 10 Maps
Thu 10/21
SEC 07 Sets & Maps
resources: handout
Fri 10/22
LEC 11 More maps
Practice See problems from last class acronym recordGrade
Extra resources Building Java Programs: 11.3
Evil Hangman
I.S. by 11:59 pm
Checkpoint 4
Due 11:59 pm
Sun 10/24
Week 5 - Recursion
Mon 10/25
LEC 12 Recursion
Tue 10/26
SEC 08 Recursive tracing
resources: handout
Wed 10/27
LEC 13 More recursion; public/private pairs
Pre-Class: Recursion
in-class: pdf pptx
Extra resources Building Java Programs: 12.3-12.4
Thu 10/28
SEC 09 Recursive programming
resources: handout
Fri 10/29
LEC 14 Regular expressions; grammars
Pre-Class: Recursion
in-class: pdf pptx
Extra resources Building Java Programs: pages 698-690
Grammar Solver
I.S. by 11:59 pm
Checkpoint 5
Due 11:59 pm
Sun 10/31
Week 6 - Miscellaneous I
Mon 11/01
LEC 15 Sorting
Pre-Class: None!
in-class: pdf pptx
Tue 11/02
SEC 10 TA's Choice!
Wed 11/03
LEC 16 Midterm Review
Pre-Class: Midterm Review
Practice All of the following problems can be found in the Old Exam Questions database Recursion: undouble Collections: groceryShopping Stacks and Queues: reverseByN ArrayIntList: removeLast
Thu 11/04
SEC 11 Midterm review
resources: handout
Fri 11/05
LEC 17 No class!
Simulated Midterm Exam
Due 11:59 pm
Sun 11/07
Week 7 - Recursion Application: Exhaustive Search
Mon 11/08
LEC 18 Exhaustive search
Pre-Class: None!
in-class: pdf pptx
Practice countBinary
Extra resources Building Java Programs: 12.5
Tue 11/09
SEC 12 Exhaustive search
resources: handout
Wed 11/10
LEC 19 More recursive backtracking
Thu 11/11
HOLIDAY Veteran's Day; no class!
Fri 11/12
LEC 20 Recursive backtracking practice
Pre-Class: None!
in-class: pdf pptx
Anagram Solver
I.S. by 11:59 pm
Checkpoint 6
Due 11:59 pm
Sun 11/14
Week 8 - Binary Trees
Mon 11/15
LEC 21 Binary trees
Tue 11/16
SEC 13 Binary trees 1
resources: handout
Wed 11/17
LEC 22 Binary search trees
Thu 11/18
SEC 14 Binary trees 2
resources: handout
Fri 11/19
LEC 23 Comparable
Pre-Class: None!
in-class: pdf pptx
Practice Food
Extra resources Building Java Programs: 10.2
20 Questions
I.S. by 11:59 pm
Checkpoint 7
Due 11:59 pm
Sun 11/21
Week 9 - Miscellaneous II
Mon 11/22
LEC 24 Hashing
Pre-Class: More Comparable
in-class: pdf pptx
Extra resources Building Java Programs: 18.1
Tue 11/23
SEC 15 Comparable
resources: handout
Checkpoint 8
Due 11:59 pm
Wed 11/24
LEC 25 No class
Thu 11/25
HOLIDAY Thanksgiving; no class!
Fri 11/26
HOLIDAY Thanksgiving; No class!
Sun 11/28
Week 10 - Course Wrap Up I
Mon 11/29
LEC 26 Huffman coding
Pre-Class: Priority Queues
in-class: pdf
Tue 11/30
SEC 16 Collections review
resources: handout
Wed 12/01
LEC 27 Inheritance
Pre-Class: Inheritance Review
Extra resources Building Java Programs: 9.1 - 9.2
Thu 12/02
SEC 17 Inheritance
resources: handout
Fri 12/03
LEC 28 ArrayIntList; Iterators; Resizing
Huffman Coding
Due 11:59 pm
Checkpoint 9
Due 11:59 pm
Sun 12/05
Week 11 - Course Wrap Up II
Mon 12/06
LEC 29 IntList Case Study
Simulated Final Exam
Due 11:59 pm
Tue 12/07
SEC 18 LinkedList review
Wed 12/08
LEC 30 Final Review
Thu 12/09
SEC 19 Final review
Fri 12/10
LEC 31 Course Wrap Up and What's Next
Sun 12/12
Week 12
Tue 12/14 Finals Week