UW in the High School

This page will collect together various resources for the teachers involved in the UW in the High School program. The faculty liason is Stuart Reges.

Quick Links

Homework

We are going to be fairly flexible about homework grading. It will count only 20% towards the grade and homework scores tend to be rather high. In the UW course, the average homework grade tends to be around 90%. From the tables below you can access our grading criteria for various homework assignments to see how we do it, but it is not essential that you do exactly what we do. Stuart will work out a plan with each teacher based on the assignments they are using as to how to determine these homework scores for each student in the dual credit program.

Exams

I'm planning two 50-minute exams for each of CSE142 and CSE143 that would roughly correspond to our midterm and final. Each will count 40% towards the final course grade. We always give students a sample exam to show them what kind of questions to expect and we'll be providing sample exams in this program as well.

It is likely that I will get my questions from old UW exams. Many of these questions are available on the various UW web pages and through PracticeIt, so it's possible that your students will get a problem on an exam that they've alredy seen. This is okay. There are so many of these problems that if your students really manage to memorize an answer to each one, then they deserve to get a high score. But because some of these problems appear on the web, please make sure that your students don't have any printouts of answers to sample exam questions when they take the test. You can allow them to have other printed materials (textbook, class notes, their own homework solutions, etc). At UW, we generally have open note, open book tests.

There are only two teachers with students enrolled in CSE142 and they are in different states, so I'm going to give those teachers the choice of when to administer the exams. The midterm for CSE142 along with a sample test will be available soon.

For the CSE143 course, we want to have a bit more security. We are planning to identify specific weeks when the exam is to be administered. The tentative plan is:

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 250 to 450 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 1,650 students take CSE142 each year and approximately 1,050 students take CSE143 each year. Approximately 25% of the undergraduates at UW take CSE142. We have been attracting more women to our courses in recent years. CSE142 is now up to 30% women and CSE143 is up to 24% women. Historical charts of intro enrollment can be found here.

Message Board

We will be using a message board to collect together common questions and to discuss issues that we need to resolve as a group. You can reach the message board as https://catalysttools.washington.edu/gopost/board/reges/11908/.

The message board requires that you log in with your uwnetid.

When you go to the message board, you can click on "Profile" to edit your profile information. It will ask you for your first and last name. It will also give you an option to set "Notifications". I suggest that you request "Daily Digest", which sends you a daily summary of activity. That way you won't have to check the board. If some new topic is being discussed, you will get an email message about it and you'll know to check out the board. If the board is quiet, you'll get no notifications and you can just ignore it.

CSE142 Course

CSE142 is the CS1 course at the University of Washington and is very similar to AP/CS A. Stuart last taught CSE142 in Winter of 2009. The main class page can be found here. Of particular interest is the "Calendar/Lecture" link that includes sample programs and lecture slides and the "Assignments" link that includes all assignment resources. Below is an overview of the course from an instructor point of view (most of these resources are not publicly available):

Week Major topics Section Assigned Key Criteria
1 println, static methods section #1 assignment #1: Song Song.java criteria
2 variables, expressions, for loops section #2 assignment #2: Rocketship DrawRocket.java criteria
3 parameters, graphics section #3 assignment #3: Cafe Wall CafeWall.java criteria
4 Scanner, if/else, return section #4 assignment #4: Admissions Admit.java criteria
5 while loops, random, assertions section #5 assignment #5: Guessing Game Guess.java criteria
6 midterm review section #6 midterm midterm key criteria
7 file processing section #7 assignment #6: Baby Names Names.java criteria
8 arrays section #8 assignment #7: Personality Test Personality.java criteria
9 defining classes section #9 assignment #8: Critters Lion.java
Tiger.java
Bear.java
 
10 review for final section #10 final exam final key criteria

CSE143 Course

CSE142 is the CS2 course at the University of Washington and is very similar to what used to be the B part of AP/CS AB. Stuart last taught CSE143 in Spring of 2009. The main class page can be found here. Of particular interest is the "Calendar/Lecture" link that includes sample programs and lecture notes and the "Assignments" link that includes all assignment resources. Below is an overview of the course from an instructor point of view (most of these resources are not publicly available):

Week Major topics Tue Section Thu Section Assigned Key Criteria
1 review of arrays, classes arrays binary search, ArrayIntList assignment #1: SortedIntList SortedIntList.java criteria
2 exceptions, iterators, Comparable iterators Comparable assignment #2: LetterInventory LetterInventory.java criteria
3 linked lists linked list before/after easy linked list assignment #3: Assassin AssassinManager.java criteria
4 stacks, queues, interfaces hard linked list stacks, queues assignment #4: Sieve Sieve.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 TA's choice backtracking assignment #6: Anagrams AnagramSolver.java criteria
8 binary trees easy binary tree hard binary tree assignment #7: 20 Questions QuestionNode.java
QuestionTree.java
criteria
9 Huffman, inheritance inheritance to extend functionality generic binary search tree assignment #8: Huffman
Huffman bonus
HuffmanNode.java
HuffmanTree.java
HuffmanTree2.java
criteria
10 hashing linked list review final exam review final exam final key criteria

AP/CS AB Course

The College Board no longer offers the exam, but we have a detailed course description in the form of the 2008 acorn booklet. The default assumption should be that this is the course we are offering. It is close enough to the UW 142/143 courses that we are happy to give UW credit for them.

Homework Grading for AB Option

In the UW courses, homework counts for 40% of the grade. The homework is where 90% of the learning takes place, but we make it worth just 40% because we have greater confidence that we can consistently grade students through exams. In a similar manner, we don't want to dictate in great detail what programming assignments instructors should give and how they should be graded. As a result, homework will be worth only 20% of the computed grade for students in the dual credit option. Instructors should stress with their students that even though the homework is worth only 20%, it is essential to complete the homework to prepare to do well on the exams.

When we evaluate courses for transfer credit, we generally require that we see a nontrivial programming assignment for each of the following topics:

This list should be thought of as a bare minimum. We would also expect to see assignments that require students to define their own classes and assignments that require them to be clients of built-in Java data structures (maps, sets, lists).

In our grading, we emphasize programming style heavily. We ask that instructors do the same in grading homework for dual credit. In particular, assignments should be graded roughly 50% from external correctness (it seems to behave properly) and roughly 50% from internal correctness and style. Internal correctness has to do with satisfying various constraints that the assignment has placed on them. For example, you might have required them to throw exceptions or to meet a certain big-Oh complexity. Style has to do with good programming practices: good comments, encapsulated objects (private fields), no extraneous fields, using interfaces for types when possible, avoiding redundant code, writing concise boolean expressions, and so on.

Below are some style resources that we make available to our students:

Ideally homework scores will average in the 85 to 90 percent range. If you are having trouble reaching that goal, please contact Stuart to discuss the situation. We won't force this grading scale on a teacher who has a particularly strong group of students, but we would like to try to achieve this consistency across schools if possible.

Below are two examples of graded homework from CSE143:


Stuart Reges
Last modified: Wed Feb 3 15:01:06 PST 2010