6:30-7:50 p.m., Mondays and Wednesdays, Meyer Hall 221
This is a three semester credit undergraduate course designed to have learning opportunities and activities totaling approximately 105 hours over the 15 weeks of the course (including finals week) - 40 hours in class (80 minutes/class x 2 times/week x 15 weeks) and 65 hours outside of class. This estimate is for the typical undergraduate student with the prerequisite math course. The designed activities may take more or less time depending on the person: we are all individuals. Here are some further estimates:
| Activity | Units | Hours/Unit | Subtotal |
| Class meetings | 30 Meetings | 1.33 | 40 |
| Final Exam | 1 Exam | 2 | 2 |
| Homework Assignments | 7 Assignments | 4 | 28 |
| Reading Book Chapters | 14 Chapters | 2.5 | 35 |
| Total | 105 | ||
| Name: | Chris Kauffman |
| Phone: | 612-396-4971 |
| Email: | kauffman@cs.umn.edu |
| Course Website: | http://www.cs.umn.edu/~kauffman/csc301 |
You are strongly encouraged to contact me via e-mail with questions or make an appointment outside of scheduled meetings if you encounter difficulty. It's my job to help you learn.
The Internet can make it fairly easy to copy your way through a programming course as it contains a wealth of source code that can be pasted into your assignments. Directly copying programs from the Internet is prohibited as this defeats the purpose of programming exercises, to build skill. Also note that computers are very good at comparing text and there are many tools available to identify instances of copied programs. That said, it is fine to use Internet sources to deepen your understanding of the material so long as deliverables are your own work.
Homework assignments will be submitted online via the course website for the convenience of students and instructor. This means the assignments must be in an electronic form such as a Word document or source code bundle (this is a computer course after all). We will go over online submission in the first week of class.
Quizzes and exams will be done during a lecture meeting on paper and turned in during class.
In the event you know you will be absent during a lecture in which an exam or quiz is to occur, notify me ahead of time to make arrangements. Generally this will mean taking the exam/quiz prior to the scheduled time. Refer to the course schedule for the dates of quizzes and exams.
If you miss a delivery date (quiz, exam, or HW) without notifying me in advance, it is at my sole discretion on how to proceed. Compelling reasons for missing a delivery date include illness and family emergencies and will likely result in acceptance of late assignments penalty free and re-taking quizzes/exams. Notify me as soon as possible via e-mail (preferred) or phone if such cases arise. Uncompelling reasons for missing a delivery date will result in penalties or a zero score on the deliverable.
Homework assignments will be a combination of completing textbook exercises, solving problems posed by the instructor, and writing programs. Students will answer paragraph form questions in an electronic document form (such as Microsoft Word) and build programs in a source code editor. All homework assignments will be submitted online via the course website.
Quizzes will take place during lecture meetings and take 15-20 minutes. They will comprise one to three questions that require reasoning about the course material, writing program fragments, or demonstration of how programs behave. The style of questions are meant to give feedback on your understanding of the current topics and prepare you for the two exams.
The midterm will be held prior to Fall Break on 10/19 during the usual lecture time. Exam questions will require you to reason about algorithms and source code much as you do for quizzes. It will be comprised of written exercises based on material from chapters 1-8.
The final exam will be held on either Monday 12/12 or Wednesday 12/14 as determined in the first week of class. It will last for 2 hours and be comprised of written exercises drawn from all topics covered in the course. The format will be similar to the midterm exam and quizzes.
| Component | Unit Weight | Total Weight |
| 7 Homework Assignments | 8% | 56% |
| 4 Quizzes | 4% | 16% |
| 1 Midterm Exam | 10% | 10% |
| 1 Final Exam | 18% | 18% |
Bonus credit will be awarded based on participation in class discussions. I will randomly select names from the class roster during class to assist me with solving problems and concept demonstration. Students present that exhibit honest effort and attention are awarded a point. Occasionally extra credit problems will be assigned to be done outside of class. These will count towards the participation score. The highest point winner at the end of the semester will receive a 3% bonus to their overall score in the course. All other students will receive a bonus proportional to the highest point winner. For example, someone tied with the highest point winner will also receive a 3% bonus while someone with half the participation points will receive a 1.5% bonus.
Final grades will be assigned according to the following distribution. Adjustments may be made in extenuating circumstances according to my judgment of the situation.
| Percent | Grade | Percent | Grade |
| 100-95 | A | 74-70 | C+ |
| 94-90 | A- | 69-65 | C |
| 89-85 | B+ | 64-60 | C- |
| 84-80 | B | 59-55 | D+ |
| 79-75 | B- | 54-50 | D |
| 50-0 | F |
| Week | Date | Textbook | Topic | Deliverable |
| 1 | 08-29 Mon | 1 | Computing systems, java set-up | |
| 08-31 Wed | 2.1-7 | Pseudocode and Algorithms | ||
| 2 | 09-05 Mon | Labor Day - No class | ||
| 09-07 Wed | 2.8-13 | Pseudocode conditionals/loops | ||
| 3 | 09-12 Mon | 3.1-14 | Compile/run java programs | HW1 Due |
| 09-14 Wed | 3.15-24 | More on simple java programs | ||
| 4 | 09-19 Mon | 4.1-7 | Conditionals in java | |
| 09-21 Wed | 4.8-15 | Iteration in java | Quiz 1 | |
| 5 | 09-26 Mon | 5.1-4 | Pre-built methods, libraries | HW2 Due |
| 09-28 Wed | 5.5-8 | More libraries | ||
| 6 | 10-03 Mon | 6.1-6 | Encapsulation, OO Programming | |
| 10-05 Wed | 6.7-10 | Reasoning about objects | Quiz 2 | |
| 7 | 10-10 Mon | 6.11-13 | OO in practice | HW 3 Due |
| 10-12 Wed | 8 | Basic Software Engineering | ||
| 8 | 10-17 Mon | 1-8 | Midterm Review | HW 4 Due |
| 10-19 Wed | Midterm Exam | Exam | ||
| 9 | 10-24 Mon | 7.1-5 | Details of OO in java | |
| 10-26 Wed | 7.6-10 | More details | ||
| 10 | 10-31 Mon | 9.1-9.4 | Class vs. Instance | |
| 11-02 Wed | 9.5-9.7 | Review of OO so far | ||
| 11 | 11-07 Mon | 10.1-10 | Arrays | HW 5 Due |
| 11-09 Wed | 10.9-14 | 2D Arrays, Array Lists | ||
| 12 | 11-14 Mon | 12.1-6 | Inheritance basics | |
| 11-16 Wed | 12.7-11 | Inheritance details | Quiz 3 | |
| 13 | 11-21 Mon | 13 | Polymorphism, Interfaces | HW 6 Due |
| 11-23 Wed | Thanksgiving Break - No Class | |||
| 14 | 11-28 Mon | 14.1-8 | Errors and Exceptions | |
| 11-30 Wed | 14.9-13 | Handling errors | Quiz 4 | |
| 15 | 12-05 Mon | Appendix 8 | Recursion | HW 7 Due |
| 12-07 Wed | 16-17 | Beyond Java, Course Review | ||
| 16 | 12-12 Mon | Final Exam 7-9 pm | Exam | |
| 12-14 Wed | Mon or Wed | |||
The views and opinions expressed in this page are strictly those of the page author.
The contents of this page have not been reviewed or approved by the University of Minnesota.