Final letter grades are determined from your final cumulative score that is
computed using the following breakdown:
- 10% Labs:
fourteen (14) labs each worth about 0.7% of your final grade.
- 30% Programming Assignments:
four (4) programming assignments each worth from 6-10% of your final
- 60% Exams:
three (3) exams, two midterms and a final, each is worth 20% of your
Letter grades are assigned at the end of the semester. We do not
curve individual assignments or exams. At the end of the semester after all
of the scores are recorded then thresholds are set given the difficulty of
the course work during the semester. Thresholds are raised if the course work
was easier or lowered if it was harder. By adjusting and setting thresholds
at the end of the semester we can account for varying difficulty among
semesters to ensure consistency of grading across semesters. If you have
a question about your grades, please meet with your instructor.
Scores for labs, programs, and exams are reported through the
NO LABS ON 1/22 or 1/23
LAB 1 IS ON 1/29 and 1/30
There will be fourteen labs each worth about 0.7% for a total of 10% of
your final grade. Labs grades are based on prompt attendance, preparation,
cooperation with your partner, and progress completing the lab. During lab,
please turn off cell phones and other personal electronic devices.
All CS302 students are registered for one 75-minute lab, which meets once
per week in the CS labs (see the Instructional
Computer Labs page for more information). You are to attend the lab
for which you enrolled. These labs give you valuable experience using a
computer while you work with an assigned partner to solve lab problems. Lab
instructors (TAs) guide labs and are there to help you succeed on the lab
Links to lab assignment pages:
Policies for Lab Sections:
Your Lab TA will assign you a lab partner and a machine to use.
You'll work with that partner for the first three weeks. You be
assigned a new lab partner for weeks 4, 8 and 12 of the semester.
- Make-Up Labs: During the semester you can do at most two make-up
labs if circumstances prevent you from attending your regularly
scheduled lab. After you've used your two make-ups, you will not
receive credit for additional missed labs. Make-up labs must
be done by Friday of the week after the missed lab (except for the
last lab which must be done by the last day of classes). You have two
options for doing your two make-up labs:
- You may do the lab in another lab section during the same week
the lab is assigned. Check with the Lab TA of the other lab
section to ensure there is space available (see
schedule below). To receive credit for
your make-up lab, you must check in with that Lab TA before
beginning, show your work as you do the lab, and check out with
the scheduled consultant before you leave.
- You may do the lab when a consultant is on duty
later in the same week or following week. To receive credit for
your make-up lab, you must check in with
the scheduled consultant before beginning, show your work as you
do the lab, and check out with them before you leave.
Lab Sections Schedule: SPRING 2013
|9:30 - 10:45
|11:00 - 12:15
|1:00 - 2:15
|2:30 - 3:45
|4:00 - 5:15
|5:30 - 6:45
See Lab TA email addresses below.
- Rob Atlas, email@example.com
- Laura Hobbes LeGault, firstname.lastname@example.org
- Steven Brown, email@example.com
- Alicia Maxwell, firstname.lastname@example.org
- Seth Pollen, email@example.com
- Melissa Tress, firstname.lastname@example.org
- Deepika Muthukumar, email@example.com
- Emily Busche, firstname.lastname@example.org
- Heemoon Chae, email@example.com
- Jianqiao Zhu, firstname.lastname@example.org
- Jun Huang, email@example.com
- Maggie Simon, firstname.lastname@example.org
- Raajay Viswanathan, email@example.com
- Rohit Bhat, firstname.lastname@example.org
- Shreedhar Hardikar, email@example.com
- Soyoun Kim, firstname.lastname@example.org
- Thomas Griebel, email@example.com
- Tyler Adelung, firstname.lastname@example.org
There will be four programming assignments
for a total of 30% of your final grade.
Accounts are provided on the CS lab computers for you to do your
programming work. See the Instructional
Computer Labs page for more information.
Links to programming assignment pages:
Policies for Programming Assignments:
Programs can be done in pairs but you must follow the
is a free tool that we are utilizing for managing questions
regarding programming projects. Please search the programming
assignment pages first, and then Piazza for answers to
your question before posting your own new question.
Piazza works best when we all work together to avoid
duplicate question entries.
- Late Programs:
are not accepted for a grade without prior approval from your
instructor. Contact your instructor at least three (3) days in
advance of the due date if circumstances beyond your control
will prevent you from completing an assignment by the due
date/time. We will ask you to submit the work you've completed,
which we will review and then may give you an extension to the
may be requested if you believe there was an error in the
grading of your program. You may request a regrade once per programming
assignment. Regrades are for when you believe your program was
incorrectly graded or for circumstances when a minor error results
in a disproportionate deduction. Regrades are not for making a few
changes to get a few points back or for re-writing your code. You
should verify that your code works in advance of the due date by
comparing your results to the posted results. To make a regrade request,
send an email to the
TA listed in your Grade
Report within one week after the graded program is
A grade report with comments about the grading of your work is accessed
through the CS302 Forms Page (introduced in your first lab). To see your grade
report: log into the
Page, click on the particular program, and then click on "Grade
Rules of Pair Programming:
- Both team members must register the partnership using the CS302
Forms Page BEFORE you begin the programming assignment assignment together.
REMINDER: Both teammates must log in to Forms and complete the Team Information section. One teammate will create the team and the other teammate will join the team. Only when both teammates have certified their intent to work together is the team considered registered.
- You may have only one partner for each programming assignment.
- You may have a different partner on different programming
- You may not pair program with multiple partners on the same
- Your partner must be currently enrolled in a CS302 lecture.
- You may partner with someone from a lecture other than your own.
- You must list your partner as a collaborator in the header comments of
each of your source files (see Commenting
- You must follow the principles of pair programming
- You may cancel your team membership up until the team due date, but you will not be permitted to join a new team for that programming assignment.
Submitting someone else's work as your own is
academic misconduct, which will be dealt with in accordance with University
Academic Misconduct procedures. It is also Academic Misconduct to help another student commit Academic Misconduct. Do not show your solution or share your files with anyone other than your programming pair partner.
Principles of Pair Programming:
The following is a summary of successful pair programming principles taken
from a paper by
- Pair programming involves two people working together at one
computer, continuously collaborating on design, coding, and testing.
One person types; the other either provides directions ("Now we need
to write a new method that does ..., Now we need a loop to do ...")
or constantly reviews what the typer is doing, and provides
- Pair programming has proved successful both in classes and in
industry. Programmers usually report having more confidence in
their solutions and enjoying programming more when working in
- It is important to switch roles often (slide the keyboard back and
forth). Because pair programming can be quite intense, it is also
a good idea to take breaks (to check e-mail, go for a walk, have
- It is important to provide honest but friendly feedback.
To be effective, there needs to be some healthy disagreement and
debate, but pairs also need to be respectful of each other, and try
to avoid becoming defensive when receiving criticism.
- Inevitably, programmers do some independent thinking/working.
For best results, that work should be reviewed by both
partners (and perhaps revised) when they start working together
- To be successful, pair programmers must realize that the benefits
of working together outweigh their usual preference for working
alone, they must confidently share their work, accepting instruction
and suggestions for improvement in order to improve their own skills
and the code they are writing, and they must accept ownership of
their partner's work and thus be willing to constructively
express criticism and suggest improvements.
There are three exams each worth 20% for a total of 60% of your final
grade. Exams are a primary tool we use to evaluate your performance in this
- Midterm 1 (Topics): Thursday, March 7th, 5:00 PM to 7:00 PM
- Midterm 2 (Topics): Thursday, April 11th, 5:00 PM to 7:00 PM
- Final (Topics): Wednesday, May 15th, 12:25 PM to 2:25 PM
The first exam will be multiple choice questions, the second exam will be
entirely written, and the final exam will be multiple choice and might have
written questions. You are responsible for:
- lectures (including topics covered in lecture that are not covered
in the textbook),
- readings (including topics
covered in the textbook that are not covered in lecture),
- labs, and
- Programming Assignments.
For the location of the buildings,
click on the building name below or check out the campus map.
Please be sure to attend the correct exam for your lecture and lab.
- Exam Materials: No textbooks, electronic devices, or help from
neighbors are allowed during the exams.
- Exam Conflicts: must be brought to the course coordinator's
attention using the CS302 Forms Page during the first three weeks of
- Make-Up Exams: are given only with your instructor's permission
when you are unable to take the regular exam due to extenuating
circumstances. Requests for make-ups after an exam
are rarely approved and only for verifiable emergencies.
- Regrades: may be requested if you believe
there was an error in the grading of your exam. You must contact your
instructor within one week after the graded exam is returned.
Note that we sometimes photocopy written exams to ensure that students
cannot benefit from a re-grade by making changes to their answer (such
attempts are academic misconduct).
You may earn up to 5% extra credit, which will be combined with
your cumulative score at the end of the semester when letter grades are
determined. Extra credit can improve your grade directly by increasing your
final cumulative average, and also by improving your programming skills,
which will likely result in better exam scores. There are a few ways to earn
- See The Wisconsin Idea: Create content
to help the greater community learn about Computers Science and
programming and earn extra credit in the process.
Successfully creating a unique work that demonstrates some Computer Science topic and sharing it on the Internet will earn you the full 5%. Partial extra credit is possible and you can work in groups of your choosing.
- See CodeLab: A web-based
interactive programming exercise system for learning and practicing
Java programming. This system is provided by Turing's Craft
at a nominal cost. Successfully completing 90% of the assigned
exercises on or before the due date will earn you the full 5%
extra credit. Partial extra credit will be given.
Work must be completed individually.
- Programming Assignments: Some programming assignments will
have an extra credit component that challenges you to extend your
program to solve an additional problem or two. Partial extra credit
will be awarded, but regrades are allowed only when you believe the
grading was done incorrectly. See the
programming assignment pages for specific
You may combine ways to earn the 5% maximum. For example, if you
achieve 3.5% for The Wisconsin Idea, 1.75% for CodeLab and 0.5% for programs, that would equal 5.75% total,
which results in your earning the 5% maximum extra credit. If you achieve
2.1% for CodeLab and 0.5% for programs, that would equal 2.6% total, which
results in 2.6% extra credit being earned.
- Attend lectures and take notes. Taking your own notes on the
material covered in class requires you to organize your thoughts and
think about the topics in ways that simply listening does not. Reread
your notes soon after lecture to find points that are not clear.
- Participate in class. Do in-class exercises and answer questions
posed. These exercises give you additional practice on skills that you
will need for labs, programming assignments and exams. Even more
importantly, they help you identify which topics you do not understand.
This will help you efficiently use your study time.
- Do the labs and programming assignments. This is obvious, but
some students mistakenly believe that the purpose of labs and
programming assignments is to evaluate student's skills. That is not
the case, their purpose is to provide opportunities for you to practice
the programming concepts taught in lecture. This practice is vital for
learning how to program and for performing well on the midterm and final
- Prioritize your studying. First focus on your lecture notes, then
review the assignments, and finally go over the readings in the
- Study by re-organizing your notes. Successful studying requires
you to be actively thinking about the material. An effective way to
study is to re-organize and rewrite notes succinctly in terms that you
- Avoid getting bogged down on specific points. If you can't figure
something out, move on to other material and wait to ask your instructor
or TA for clarification.
- You'll need to do some memorizing. Memorizing is a practical
way to learn the definitions of terminology and concepts. A good way to
memorize information is through repeated exposure to the material.
- Form a study group. Often it is easier and more motivating to
work with others when studying for an exam. You can distribute the work
by having each group member come up with a few questions on a topic and
then going over the solutions collectively. If you run into a concept
that causes confusion often others in the group will feel similarly
while some will have explanations. Working together will help you learn
things by providing multiple perspectives and insights into the
material. Try to find a study group that provides you with ample
opportunity to communicate your understanding. It is your effort to
express information that will be of the most benefit to your learning.
- Finally, avoid cramming! We all know this, but often we find
ourselves waiting until it is too late. This habit is worth breaking!
Research has shown that studying in half hour to hour intervals followed
by half hour breaks is far more effective than non-stop cramming.
Last updated: 4/19/2013 ©2012-13 Deb Deppeler, ©2010-12 Jim Skrentny (cgi by Dalibor Zelený)