Database of old exam questions that will tell you if your solution works. Practice-It problems will be posted on the calendar each lecture day. You can use these posted problems to check your understanding of the material covered on that day in class. You will need to make a new account to use Practice-It!
You can access Practice-It! here.
Students can sign up for an optional "CSE 190" programming lab for a 5th CSE credit to supplement the CSE 142 course. In this lab, each student will work at a computer for 60 minutes once per week to solve programming problems. TAs will be present to help answer questions. You will be asked to read the textbook material for the Monday lecture prior to attending the lab, which should take approximately 30 minutes each week.
You can view the labs page here
Instructions for setting up software for this class can be found here.
The debugger lets you run your program partially and then stop it. From there, you can run each line one at a time and see the results. To use it, first you must tell jGRASP where to pause the execution; this is called a breakpoint. To set a breakpoint, move your mouse cursor to the left margin of your file's editor window until the cursor becomes a stop sign, and press the left mouse button.
(One good place to set a breakpoint is on the first line inside your main method, so that you can step through the entire program's execution.)
Once you have set the breakpoint, compile your program (if you haven't already) and then press the ladybug icon to run it in debugging mode.
The program will run until it hits the line of your breakpoint. Then the execution will pause. The next line to execute will be highlighted.
Notice that near the top-left corner of jGRASP, there is a new set of buttons. These buttons control the execution of the debugger. From left to right, their behavior is the following:
The most useful of these buttons is
Step In, so if you only learn to use one of them, make it that one. For
example, we'll Step In to the call of
drawEgg from our previous example.
The result is the following:
Any output that results from the code as it is being run will appear in the bottom console pane.
If you're running a program that uses variables, all of the variables' values will be shown on the left as well. As you step through the code, if a variable's value changes, it will turn red on the left.
Many bugs have to do with brackets,
} . Students will
have too many, too few, or just have them in the wrong places. jGRASP has a useful
feature that matches pairs of brackets to help you track down these kinds of bugs.
To see which bracket matches a particular bracket in your program, hold the Ctrl key and hover your mouse over that bracket. The bracket, along with its matching partner, will highlight in gray.
jGRASP has as annoying default setting that causes newly opened files to appear in small box windows. To change this and make the files open in larger windows, click the third button on the bottom left of the jGRASP window.
Line numbers are useful so that you can find the line where a compiler error occurs. To tell jGRASP to number the lines of your program, press Ctrl-L or click View, Line Numbers.
Our required textbook for CSE 142 this quarter will be the following:
This required book was written specifically for this course and makes a valuable supplement to the lecture presentations. The book contains the problems we will assign you each week before your discussion section.
The textbook includes many sample programs. You can access a full set of code files that is organized chapter by chapter. This will allow you to download any of the programs and run them on your own computer.
New copies of the textbook come with an access code to watch "Video Notes." These videos supplement the lecture and book material by walking through more examples in detail. You can access the video notes at the Pearson VideoNotes web site.
We have written a web application called Practice-It that allows you to write solutions to lots of our Java practice problems. You can type in your solution and submit it to the server to be tested. You will receive feedback about whether your code succeeds or fails.
Physical copy: Students can purchase the textbook from the UW Bookstore. The book is also available to be ordered online from online retailers such as the following:
Digital copy: Students can purchase an electronic version of the textbook from the UW Bookstore. The book is also available to be ordered online from online retailers such as the following:
If you see a book with our book's title but a different ISBN available for sale online (probably used), this is not the correct textbook. It is likely either the previous "1st edition", "2nd edition" or an even older "preliminary custom edition" version of the book that was used in past years. These older versions of the book do not contain all of the content from the correct course textbook. The 1st and 2nd editions are not suitable for CSE 142 this quarter; we do not suggest using them as your textbook for the course this quarter.