Students use advanced problem-solving strategies to develop algorithms using classes and objects and techniques such as recursion, exceptions and file I/O. This course also focuses on designing small applications and effective testing strategies.
Meeting Time: | Section 1: MWF 9:05-9:55AM, ISAT/CS 243 |
Section 2: MWF 10:10-11:00AM, ISAT/CS 243 | |
Prerequisites: | A grade of "C" or better in CS 139 or CS 149 or equivalent. |
Course Web Page: | http://w3.cs.jmu.edu/spragunr/CS159/ |
Required Textbook: | Starting Out with Java: From Control Structures through Objects, 5/E. Tony Gaddis, Pearson, 2012. |
Name: | Dr. Nathan Sprague |
Office: | ISAT/CS 226 |
Office Phone: | 568-3312 |
Email: | spragunr@jmu.edu |
Office Hours: | http://w3.cs.jmu.edu/spragunr/schedule.html |
You may use email to contact me. However, I encourage you to use Piazza to ask questions related to course content. You are welcome to call or stop by my office any time, with the understanding that I may or may not be available outside of my posted office hours.
This course builds on the skills learned in CS139/CS149. While the focus in that course is on learning to use basic programming constructs such as variables, loops, methods, and conditional statements, the focus in this course is on problem solving within the object-oriented programming paradigm. We will learn object-oriented design techniques as well as object oriented language features such as inheritance and polymorphism.
At the conclusion of this course, students will be able to
Course grades will be based on two midterms and a final exam, laboratory assignments, in-class activities, and programming assignments. Assignment specifications and due dates will be posted to the course schedule page. The final grade will be computed as follows:
Lab, Quizzes, and In-Class Activities | 15% |
Programming Assignments | 30% |
Exam 1 | 15% |
Exam 2 | 15% |
Final Exam | 25% |
NOTE: A student that that does not earn 60% of the points on the final exam will receive a letter grade no higher than a D+ for the course. You must achieve a C or better grade to continue on to CS 240.
Some class sessions will be dedicated to structured Laboratory exercises. Laboratory assignments will often take longer than a single class period, so be prepared for homework on lab nights. Unless otherwise specified, lab assignments will be due at the start of class on the following lecture day. For most lab assignments you will be allowed to work in groups of no more than three students.
Class sessions outside of the lab will include occasional short lectures as well as in-class activities. Many class sessions will include a graded component.
In general, it will not be possible to make up missed in-class activities. However, in recognition of the fact that you may have some unavoidable absences, I will drop three lab/class-activity grades.
There will be 5-7 programming assignments over the course of the semester. All programming assignments must be completed individually. There will be opportunities to get help on programming assignments from the lab assistants and from myself. I encourage you to start the projects early enough to take advantage of those resources. Programs will be graded on correctness, documentation, and overall code quality. All submissions must conform to the CS159 Style Guide.
All exams will be cumulative with an emphasis on material covered since the previous exam.
Regular attendance and fully engaged participation is expected. Your grade will be partially based on in-class exercises and quizzes, so attendance will affect your grade.
Your work in this course must comply with the provisions of the JMU honor code: http://www.jmu.edu/honor/code.shtml. It is not a violation of the honor code to discuss assignments with other students in general terms. However, your programming assignments and exams must be written entirely by you, based on your own understanding of the material. Representing someone else's work as your own, in any form, constitutes an honor code violation. It is also a violation of the honor code to "render unauthorized assistance to another student by knowingly permitting him or her to see or copy all or a portion of an examination or any work to be submitted for academic credit."
A key component of academic integrity is giving credit where credit is due. If you receive assistance, either from teaching assistant or from some other source, you must acknowledge that fact in the documentation of your submission. If in doubt about what is allowed, ask me.
If you are unable to take an exam at the scheduled time because of illness or other problems, you must contact me beforehand to arrange to take the exam at a different time. Failure to make prior arrangements for a missed exam will result in a grade of 0 for the exam.
All programming assignments will be due at 9:00AM on the posted due-date. Late programming assignments lose 20% in value per weekday late (hence assignments are worth 0 after 5 weekdays).
Except under extraordinary circumstances, I will not provide extensions for illnesses, extracurricular obligations, etc. Instead, you will have three "late days" which may be applied to any project (with possible exceptions for projects due at the end of the semester or immediately before exams). The use of a late day allows you to extend the deadline for an assignment by one weekday. You may apply all three days to a single assignment or distribute them across multiple assignments. Late days may not be used to submit assignments more than five days late.
Students are responsible for adding and dropping courses via MyMadison. The last day to add a course for Fall 2013 is September 12th (signatures required after September 3rd). The last day to drop a course for the Fall 2013 semester with a "W" grade is October 24th.
If you need an accommodation based on the impact of a disability, you should contact the Office of Disability Services (Wilson Hall, Room 107, www.jmu.edu/ods, 540-568-6705) if you have not previously done so. Disability Services will provide you with an Access Plan Letter that will verify your need for services and make recommendations for accommodations to be used in the classroom. Once you have presented me with this letter, you and I will sit down and review the course requirements, your disability characteristics, and your requested accommodations to develop an individualized plan, appropriate for this course.
This class will operate in accord with JMU's inclement weather policy available at http://www.jmu.edu/JMUpolicy/1309.shtml
I will give reasonable accommodations to students requesting them on grounds of religious observation. If you require such accommodations you must notify me at least two weeks in advance.