Q: I have some prior programming experience, but I am not sure whether it's enough. Should I be in CSE 142 or 143?
A: You might be ready for CSE 143 if you know about the following topics in Java or a similar language:
To help you decide, look at past quarters' CSE 142 and CSE 143 web sites. Look at the old 142 page's midterm and final exam. Would you do well on them? Look at CSE 143's first one or two assignments. Do they look fairly doable with your current experience?
If you feel confident after this investigation, you should consider taking CSE 143. If you're still not sure, you can email further questions to the instructor or contact our helpful academic advisors at ugrad-advisor@cs.washington.edu.
Q: The course (or the section I want) appears to be full. How do I add CSE 142/143 to my schedule? How do I change sections?
A: Contact our course administrator, Pim Lustig (pl@cs.washington.edu), for all registration issues such as adding the course or changing sections. He will be happy to help you.
Q: What is the difference in the section labeled "prior programming experience"?
A: It's not all that much different than the other CSE 142/143 sections. Students in that section do the same practice problems as every other section. But the TA for that section generally assumes that the students are somewhat advanced, so they may cover the concepts and problems at a faster pace, or they may finish more problems than other sections.
When we see the students who want to take the course but have a fair amount of prior programming experence, so they seem like they might be bored in the class, we recommend that they consider that section. But it's not urgently important that they join that particular section, since it's probably only about 10% different from the others at most. Being in it certainly doesn't give the student any special mark or "honors" credit or anything like that.
Q: I'd like to buy a used textbook, and I found one online, but it has a different ISBN. Is that still the right textbook? Is it okay to buy that textbook anyway?
A: There have been four ISBNs for our Building Java Programs textbook. Two of these are considered acceptable / recommended, and two are not:
Q: I need help with my homework! What should I do?
A: There are lots of resources available to help you. For example:
Q: The IPL and other resources are not enough! I need more help, such as a personal tutor. Can I get this kind of help?
A: In general, no. We in CSE do not provide individual private tutoring; there are too many students and not enough resources. We also feel that you must demonstrate your own ability and not be walked through substantial parts of the course by a private tutor. We also do not permit you to be regularly tutored "on the side" by your CSE 142/143 TA, whether or not the TA is being paid to do so.
There are some other services on campus do provide limited individual tutoring to certain students. You may want to check out links such as the following:
Q: The homework in this class is very difficult and takes me a lot of time to finish. I see other students in the class who have past programming experience, and they say the programs are easy for them. Is it hopeless for me? Do I need to be one of those people to do well in this course?
A: There's a certain "tortoise and hare" phenomenon that occurs a lot in 142/143. There is a group of hotshots who come in with past experience at programming. We allow those people to go straight to 143 if they want to. But some of them stay in 142. This can worry the other students because there are people about who seem to already know all of the course material. This has the danger of potentially ruining the curve of an exam or pushing the expectations of the instructor/TAs too high.
One thing we have seen many times over the years is that actually a lot of the "hares" with past experience don't do as well as they thought they would. Certainly, some hares finish at the top of the class rankings. But some of them are sloppy and careless in their programming because they don't think they need to read the directions carefully. They very quickly finish and submit a program that solves the overall problem, but maybe they don't bother to read the homework spec to match the intended programming style. Note that we explicitly mark down students who turn in programs that use "advanced material" that has not yet been taught in class. Also a careless student is less likely to try out all of the provided test cases or perform his own testing to make sure that the program really works for all cases before turning it in.
Another thing that often happens to "hares" is that their past knowledge only carries them so far. They probably know most of CSE 142's material pretty well, but some of it toward the end (arrays and objects) they may not. And most hares haven't really seen much of the CSE 143 material at all, so their advantage is largely negated there. 143 is a more level playing field in this regard because most self-taught or hobbyist programmer types have not bothered to teach themselves the particular material that 143 covers. 143 is a place where the former tortoise may truly start to outpace the hare.
This is a very challenging course, and there are some folks in the room that can make the average student feel uneasy. But we try our best to make it so that it is possible to succeed in the course even if you have never seen this material before. And we also put lots of little pitfalls that could still trip up a person who has seen it all before. :-) It's important to focus on how you are doing and be pleased with your own accomplishments in the course, instead of trying to compare to other students. If you're learning a lot and are able to solve the assignments (even if it takes a long time) and get decent scores on them, then you are doing great so far. And the further you keep going in computer science and studying, the more this issue fades away and the more you become the expert.
Q: I have a scheduling conflict and need to miss a lecture on a particular day. Is this okay? How can I find out what I missed?
A: Lecture attendance is optional, so you may miss a lecture without penalty (so long as no exam takes place on that day). To find out what you missed, look at the Lectures section of the course web site. All slides and program code from lecture will be posted there.
Q: I got a low score on homework and/or exams, and I'm worried about doing poorly in the course. How much impact will my past low score(s) have on my grade? What can I do?
A: You can compute for yourself the impact of your past scores on your grade. The grading weights are listed on the course syllabus.
If you want to raise your grade, the best way is to do well on future assignments and exams. We generally do not offer much extra credit nor any way to directly make up or replace low scores on past assignments or exams.
Don't forget that the final exam usually has a higher weight than the midterm, so there are still plenty of points left to be earned. Consult the grade formulas on the syllabus to figure out whether your desired grade is still attainable.
If you don't think you will be able to raise your grade enough, you may need to consider dropping the course or switching to a Satisfactory/Not Satisfactory (S/NS) option. See UW's Grading System web page for more information about grades, S/NS, and other options.
Q: When is the last date to drop the course? When is the last date to switch to Satisfactory/Not Satisfactory (S/NS)?
A: This information can be found at the UW Academic Calendar for this year.
Q: I checked the web site, and my overall 142 grade is (grade). I wish my grade was (higher grade). Will you please change my grade to (higher grade)?
A: I'm sorry; no. (Unless your grade is computed incorrectly for some reason.)
Q: You don't understand. I *need* to get a (higher grade) because (reason). And because of (not very convincing reason), I think I deserve a (higher grade) even though the points I got in the course only add up to (lower grade). Will you please change my grade to (higher grade)?
A: See answer to previous question.