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:
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.
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.
| 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 |
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: