Prerequisites: CS 110, MATH 153
Syllabus
CS 111: Programming
Fundamentals II
Winter
2007
|
Meeting Times |
Lect: 10:00 - 10:50 MWF, HB 106 (Sect 001) Lect: 01:00 - 01:50 MWF, HB 106 (Sect 003) Labs: 10:00 - 10:50 Thursday, HB 209 (Sect 002) Labs: 01:00 - 01:50 Thursday, HB 209 (Sect 004) |
|
Instructor |
Dr. Razvan Andonie, HB 219-B, Office hours |
| TAs | Sect 002: Sorin Bucse, BucseS@gwmail.cwu.edu Sect 004: Jonathan Thorsvik ThorsvikJ@gwmail.cwu.edu |
|
Text |
Starting Out with Java 5, Early Objects by Tony Gaddis, Addison-Wesley, 2005. |
This course is the second half of a two-quarter course sequence on the fundamentals of programming. We will cover Chapters 7-11 & 14 in your textbook leaving you in good shape to go on to CS 301 should you choose to continue. You should leave the course with a good understanding of the design and construction of object-oriented programs. Major new topics covered are: Arrays, Inheritance, Exceptions, GUI and Recursion.
Student Learning Outcomes
On completion of this course, the student will have:
|
|
Use classes to sub-divide the problem into a programming solution. |
|
|
Implement classes in Java to develop a working program. |
|
|
Use selection, repetition, and recursion to solve interesting problems. |
|
|
Use arrays, class libraries, and dynamic structures in your programs to store and work with data. |
|
|
Design test cases and successfully debug programs. |
|
|
Read and understand medium-sized programs written by someone other than yourself. |
The slides for lectures can be
found in the shared directory on Neve .
Textbook readings are
designed to take, on average, two to three hours to complete.
The only way to learn
computer programming is by doing. This course is designed to
get you actively involved through the lab and programming assignments. Most programming
assignments are designed to take, on average, four hours to
complete.
95 - 100 A
90 - 94 A-
87 - 89 B+
83 - 86 B
80 - 82 B-
77 - 79 C+
73 - 76 C
70 - 72 C-
67 - 69 D+
63 - 66 D
60 - 62 D-
0 -
59 F
If you must miss an exam, contact your instructor prior to the exam to schedule a time to make it up. Late submission of assignments is generally not accepted. No partial credit for late assignments will be offered.
|
|
Available in
Hebeler Labs are |
|
|
You can download the jGRASP Tutorials, a zip file containing PDF tutorials for jGRASP (including Getting Started) and example source code. |
|
|
When purchased new, the textbook comes with a CD containing: appendices, case studies, source code for all the example programs, JDK 5.0 with documentation, jGRASP with documentation, information about how to install JDK and jGRASP, answers to odd-numbered review questions and checkpoints. |
|
|
Student Resources can be also downloaded. |
|
|
Using the Java software at home: Download jGRASP. Fore more information, read Installing jGRASP. The Java Development Kit (JDK) should be installed on your system before you install the jGRASP development environment. It is better to download the JDK and jGRASP software in order to get the latest versions. |
|
|
|
Date |
Topic |
Readings |
| 01/03 |
Introduction |
Syllabus |
| 01/05 |
Arrays and Vectors |
Ch. 7 |
| 01/08 |
Arrays and Vectors |
Ch. 7 |
| 01/10 |
Arrays and Vectors |
Ch. 7 |
| 01/12 |
Arrays and Vectors |
Ch. 7 |
| 01/15 |
No School, M. L. King |
|
| 01/17 |
Review and Solve A Problem |
Ch. 7 |
| 01/19 |
Text Processing and Wrapper Classes |
Ch. 8 |
| 01/22 |
Text Processing and Wrapper Classes |
Ch. 8 |
| 01/24 |
Review and Solve A Problem |
Ch. 8 |
| 01/26 |
Exam 1 |
Ch. 7-8 |
| 01/29 |
Inheritance |
Ch. 9 |
| 01/31 |
Inheritance |
Ch. 9 |
| 02/02 |
Inheritance |
Ch. 9 |
| 02/05 |
Review and Solve A Problem |
Ch. 9 |
| 02/07 |
Exceptions and Stream I/O |
Ch. 10 |
| 02/09 |
Exceptions and Stream I/O |
Ch. 10 |
| 02/12 |
Exceptions and Stream I/O |
Ch. 10 |
| 02/14 |
Review and Solve A Problem |
Ch. 10 |
| 02/16 |
Exam 2 |
Ch. 7-10 |
| 02/19 |
No School, Presidents Day |
|
| 02/21 |
GUI Applications |
Ch. 11 |
| 02/23 |
GUI Applications |
Ch. 11 |
| 02/26 |
GUI Applications |
Ch. 11 |
| 02/28 |
Review and Solve A Problem |
Ch. 11 |
| 03/02 |
Recursion |
Ch. 14 |
| 03/05 |
Recursion |
Ch. 14 |
| 03/07 |
Recursion |
Ch. 14 |
| 03/09 |
Review and Solve A Problem |
Ch. 14 |
| 03/15 | Sect. 001 - Final Exam: 08:00 - 10:00, HB 106 | Ch. 7-11, 14 |
| 03/15 |
Sect. 003 - Final Exam: 12:00 - 02:00, HB 106 |
Ch. 7-11, 14 |
|
Date |
Topic |
Item Due |
| 01/04 |
Computer science network and jGRASP setup |
|
| 01/11 |
Begin Program 1 |
|
| 01/18 |
Begin Program 2 |
Program 1 due |
| 01/25 |
Begin Program 3 |
Program 2 due |
| 02/01 |
Begin Program 4 |
Program 3 due |
| 02/08 |
Begin Program 5 |
Program 4 due |
| 02/15 |
Begin Program 6 |
Program 5 due |
| 02/22 |
Begin Program 7 |
Program 6 due |
| 03/01 |
Programming Exam |
Program 7 due |
| 03/08 |
Final discussion on assignments |
|
The programming assignments can be found in the shared directory on ALP - cs111.
All work turned in for credit, including exams and all components of the project, are to be the work of the student whose name is on the exam or project. For all project components, the student can receive assistance from individuals other than the instructor only to ascertain the cause of errors. Thus you can get help if you need it to figure out why something doesn't work. You just can't get help from anyone, other than the instructor or TA, to figure out how to make something work. All solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's. The following text should appear on all assignments: " I pledge that I have neither given nor received help from anyone other than the instructor for all program components included here."
Help each other with the lab assignments. You may work together, but do the work on separate computers. The point is to understand the material enough so that you to go on and complete that week's programming assignment on your own.
Help each other understand and debug the programming assignments. However, you should write the code for your programs yourself. Writing it yourself is the only way you will learn. Do not work together to solve the programming assignments to the extent that two programs are essentially the same solution.
All program solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's. Since everyone is writing their own code, no two programs should be the same or so similar that I could convert one to the other by a simple mechanical transformation (e.g. changing variable names and comments). I consider this plagiarism and a violation of academic code. First violation: Students must meet with the instructor. In most cases, the grade will be split between the authors of the copied programs. Second violation: Students will receive no credit for the assignment. An incident letter will be placed on file in the Computer Science Department and the matter referred to the Computer Science Department Chair.
Class
attendance is expected and recorded.
Students with disabilities who wish to set up academic adjustment in this class should give me a copy of their "Confirmation of Eligibility for Academic Adjustment" from the Disability Support Services Office as soon as possible so we can discuss how the approved adjustment will be implemented in this class. Students without this form should contact the Disability Support Services Office, Buillon 205 or dssrecept@cwu.edu or 963-2171.
The schedule
and procedures for this course are subject to change. It is the student's
responsibility to learn of and adjust to changes.