UW in the High School

This page has links to various resources for teachers involved in offering CSE142 and CSE143 through the UW in the High School program.


The table below has links to resources from the CSE142 course at the University of Washington. Some of these resources are not publicly available. If you need the id and password, contact Stuart.

Week Major topics Section Lab Homework Solution Criteria
1 println, static methods pdf, doc lab 1 assignment #1: Song (Word version) Song.java criteria
2 variables, expressions, for loops pdf, doc lab 2 assignment #2: Rocketship (Word version)
assignment #2: Space Needle (Word version)
3 parameters, graphics pdf, doc lab 3 assignment #3: Cafe Wall (Word version)
assignment #3: Ehrenstein Illusion (Word version)
4 Scanner, if/else, return pdf, doc lab 4 assignment #4: Admissions (Word version)
assignment #4: Gradanator (Word version)
assignment #4: Birthday (Word version)
5 while loops, random, assertions pdf, doc lab 5 assignment #5: Guessing Game (Word version) Guess.java criteria
6 midterm review pdf, doc lab 6 midterm key criteria
7 file processing pdf, doc lab 7 assignment #6: Baby Names (Word version)
assignment #6: Madlibs (Word version)
assignment #6: Bagels (Word version)
8 arrays pdf, doc lab 8 assignment #7: Personality Test (Word version)
assignment #7: DNA (Word version)
Personality.java, BigData.java
9 defining classes pdf, doc lab 9 assignment #8: Critters (Word version)
assignment #8: Critters (alternate) (Word version)
Ant.java, Bird.java, Vulture.java, Hippo.java
Bear.java, Lion.java, Giant.java
10 review for final pdf, doc lab 10 final exam key criteria

We have used various assignments that are not part of CSE142 but might be useful in an AP/CS A course.

The table below has links to resources from the CSE143 course at the University of Washington. Some of these resources are not publicly available. If you need the id and password, contact Stuart.

Week Major topics Tue Section Thu Section Homework Solution Criteria
1 review of arrays, classes arrays bad ArrayIntList assignment #1: LetterInventory SortedIntList.java criteria
2 exceptions, iterators, Comparable lists/sets stacks/queues assignment #2: GuitarHero GuitarString.java
3 linked lists linked list before/after simple linked list assignment #3: Assassin AssassinManager.java criteria
4 stacks, queues, interfaces hard linked list maps assignment #4: Evil Hangman HangmanManager.java criteria
5 recursion, Maps recursive tracing recursive programming assignment #5: Random Sentence Generator GrammarSolver.java criteria
6 midterm review inheritance midterm review midterm midterm key criteria
7 recursive backtracking backtracking 1 backtracking 2 assignment #6: Anagrams AnagramSolver.java criteria
8 binary trees easy binary tree hard binary tree assignment #7: 20 Questions QuestionNode.java
9 Huffman, inheritance Comparable 2-d arrays, collections assignment #8: Huffman
Huffman bonus
10 hashing linked list review final exam review final exam final key criteria


General Expectations

We provide a great deal of flexibility for how you structure your high school course. We expect you to pattern the course after the UW version, but you have the freedom to modify it to work in your environment. You can rearrange the order of topics or include additional topics, but we expect you to cover the same basic material that we cover.


You are encouraged to use our assignments, although you can replace them with other assignments that are similar in character. In the UW courses, homework counts for between 40% and 50% of the grade. You can have homework count anywhere from 20% to 50% of the grade depending upon how much you want to rely on exams for assessment.


You are allowed to design your own exams, although you are encouraged to include the same basic questions that are included on the UW exams. We give a 75-minute midterm and a 110-minute final. You can break up the exams in whatever way you choose. For example, you might want to give three or four exams that are each 50 minutes long.

Grade Setting

This is a dual enrollment program, which means that you will produce two grades for your student. You can grade in whatever way you prefer for the high school grade. For the UW grade, we ask that you use your best judgement to figure out what grade your students would have received in our CSE142 course. You can see how grades were set in fall 2016 by looking at the cutpoints in this spreadsheet.

For the fall 2016 course, homework counted 40% (mean 84.3, median 89.8), the midterm counted 20% (mean 78.8, median 82), and the final counted 40% (mean 71.3, median 78). Keep in mind that the kind of students who sign up for an advanced class in high school and particularly the students who sign up for dual credit tend to be higher performing students. As a result, we do not expect that the grades submitted by UW in the High School teachers will have the same distribution as in our class. We would expect most students would get grades in the 3.0 to 4.0 range.

Intro Courses at UW

The Computer Science & Engineering Department at the University of Washington is consistently rated in the top 10 departments by the Computing Research Association, US News & World Report, and GRE Guide. The department has produced several videos featuring our students and faculty that address the question of Why major in CS?".

The University of Washington teaches a fairly traditional CS1/CS2 course combination called CSE142/CSE143 that is similar to what AP/CS has called A and B. We teach them in a large lecture format with 350 to 700 students in a single lecture hall meeting three times a week and a discussion section with 20 students each. CSE142 has one section a week and CSE143 has two sections a week. Sections provide the small-group experience where students can ask questions and work on problems.

Intro enrollment at UW has increased significantly in recent years and has now reached record levels. Approximately three thousand students take CSE142 each year and approximately two thousand students take CSE143 each year. Around half of the undergraduates at UW take CSE142. We have been attracting more women to our courses in recent years. CSE142 is now up to 37% women and CSE143 is up to 30% women. Historical charts of intro enrollment can be found here. We made a video about intro enrollment available here.

Computer Science is now the most popular choice of major for incoming freshmen as indicated by this chart. Admission to the major has become highly competitive with around 26% of applicants being admitted in recent admissions cycles.

Stuart Reges