Syllabus for Fall 2013
In this course there will be regular opportunities for you to practice what you have learned and to demonstrate your accomplishments. Below, is a short description of each opportunity, along with the percentage of your final course grade it represents.
|Labs with Programming Projects||45%||Weekly, hands-on, supervised learning. You will begin a programming assignment in each lab. It will be due the following Tuesday night|
|Quizzes||25%||Short weekly in-class quizzes (given on Fridays)|
|Short homework assignments||5%||Assigned each Wednesday, it will help you prepare for the quiz each Friday.|
|Participation||5%||Ask questions, answer questions, join in discussions|
|Final Exam||20%||An exciting 3-hour opportunity at the end of the semester to demonstrate your ability to answer questions about course material.|
How to succeed
Labs and ProjectsCome to lab ready to focus on the new project. Ask the lab instructor and T.A. for help if you need it. Talk to your peers.
The grading policy on projects is that the tasks specified explicitly in the lab and project descriptions will constitute about 85% of the assignment. If you complete the specified parts of the assignment properly, and produce a high-quality writeup, it's worth up to a B+ grade. In addition, the written instructions will include a variety of extensions to the assignment, or you can come up with your own. Completing one or more extensions, in addition to the specified parts of the assignment, will earn you some flavor of A.
QuizzesStudy for the quizzes by doing the homeworks. We will drop the lowest quiz grade, so that if you make a silly mistake one week, it won't affect your grade dramatically.
Short homeworksTry them. You will receive full credit as long as you make an honest attempt to complete every question. Each homework will be a set of questions emailed by Stephanie on Wednesday. You respond to that email with your answers, along with any questions you may have. As long as you send this to Stephanie by 10pm on Thursday, she will respond with comments. As long as you send them by classtime on Friday, you will get credit. There is no partial credit for late homeworks, because we will go over the answers in class on Friday before you take the quiz.
ParticipationSpeak up in class. Come to office hours. Go to lab and help your neighbor. Or ask your neighbor, instructor, or TA for help.
Final ExamThe final exam will be similar to a large set of quizzes (but written from a more wholistic perspective). The best way to study for the final exam is to retake all of the old quizzes (and quizzes from old semesters). Also, read through your notes and make sure you understand everything in them.
For more information about expectations and the assignment of grades, see this document.
Help and Discussion Outside of Lecture
Office HoursStephanie and Kyle will both be holding office hours. Please come! We want to get to know you and we want you to get the most you can out of this course.
Evening TA HelpThe Sunday evening (7-10pm) and Monday evening (7-10pm) evening TA sessions in Roberts 225 will be staffed by someone prepared to help both CS 151 and CS 231 students.
- 1/2 hour rule: If you have been stymied by one problem (e.g. a bug in your code) for more than 1/2 hour, you should stop and get help. Email one of us, see a TA, consult a peer. But do not waste your time on one problem.
- We are always happy to help you with any of your code for your projects. However, the earlier you come to us with questions, the happier we'll be to help you (we usually respond to a last-minute call for major help with the question "Why didn't you start earlier?").
- Please feel free to raise any concerns or complaints about the course directly with either of us. You are also welcome to send us your concerns anonymously. We will gladly respond to them.
This course will use Java Standard Edition 1.7 (also known as Java 7) as the programming environment for all assignments and projects (although 1.6 should work just fine). You may use any Java development environment and hardware platform you wish. Some common options are:
Use an industrial-strength integrated development environment (IDE) such as Eclipse, NetBeans, Intellij IDEA, or Xcode. These are commonly used in large-scale development projects. Dale likes and uses IDEA.
Use a light-weight development environment such as jGRASP, BlueJ, or DrJava. These are good environments for learning Java and object-oriented programming concepts. jGRASP will often be used in lectures to demonstrate various concepts.
Use a text editor such as BBEdit, TextWrangler, Emacs, or nano to write Java code. Compile and run the programs from the Unix command line (Terminal on Macs). (Bruce Maxwell likes and uses Emacs. Stephanie Taylor likes and uses TextWrangler.)