This syllabus is available online at https://jeff.cis.cabrillo.edu/classes/cs12jf17
| firstname.lastname@example.org (please prefix the subject with
|Office/STEM Hours||Monday/Wednesday 0800–1100, Tuesday/Thursday 1145–1445 in 827 or STEM Center, and simultaneously online (wait at least 5 minutes for a response).|
|Schedule: 98256||Meetings: M 1110–1315, W 1110–1300; Room 829|
|Schedule: 98257||Meetings: R 1800–1950; Room 829|
CS 12J: Introduction to Programming Concepts and Methodology, Java
Presents an introduction to computer programming using the Java programming language beginning with basic principles and progressing to object-oriented programs and visual programming. Includes: algorithms, data types, declarations, expressions, selection, repetition, methods, recursion, libraries, arrays, classes, objects, components, events, files and streams.
There is no textbook required for this course. Suggested reading will be posted in the lecture materials. Here are some recommended free online textbooks for supplementary reading:
Other materials will be on the course website or handed out in person.
Keep in mind that a lot of this information is available online as well. This class is a good opportunity to learn how to use search engines effectively, if you haven't already. Check out Google's advanced search options and DuckDuckGo's syntax rules for some very useful pointers.
This schedule is subject to change.
|Week||Dates||Topics||Assignments and Due Dates|
|01||08/28 - 09/01||Intro; Java basics|| 09/01 : Assignment 00 (
|02||09/04 - 09/08||(Holiday: 09/04) — Primitive types; Standard I/O|| 09/08 : Assignment 01 (
|03||09/11 - 09/15||Selection; Decomposition|| 09/18 : Assignment 02 (
|04||09/18 - 09/22||Repetition; Debugger; Numeric limitations|| 09/25 : Assignment 03 (
|05||09/25 - 09/29||Repetition; Arrays|| 10/02 : Assignment 04 (
|06||10/02 - 10/06||Command-line arguments; Decomposition; Scope; OOP|| 10/09 : Assignment 05 (
|07||10/09 - 10/13||Recursion; OOP|| 10/16 : Assignment 06 (
|08||10/16 - 10/20||OOP|| 10/23 : Assignment 07 (
|09||10/23 - 10/27||Encapsulation; exceptions; Javadoc|| 10/30 : Assignment 08 (
|10||10/30 - 11/03||Lists|| 11/06 : Assignment 09 (
|11||11/06 - 11/10||(Holiday: 11/10) — Binary I/O; exceptions|| 11/13 : Assignment 10 (
|12||11/13 - 11/17||Static vs non-static; Sets and Maps|| 11/22 : Assignment 11 (
|13||11/20 - 11/24||(Holiday: 11/23, 11/24) — Interfaces and Polymorphism|| 11/29 : Assignment 12 (
|14||11/27 - 12/01||Inheritance and Polymorphism; GUI|| 12/04 : Assignment 13 (
|15||12/04 - 12/08||GUI; functional programming|| 12/15 : Assignment 14 (
|16||12/11 - 12/15|| Finals Week
98256: Monday 12/11, 1000–1250
98257: Thursday 12/14, 1900–2150
Grades will be recorded on a point basis, and your final letter grade will be determined by the percentage of points earned. Real-time grade information is available on our course website.
In the event that average scores are unexpectedly low, class-wide scores may be shifted upward at the instructor's discretion.
Assignments are your chance to work on your own, experiment with the material we cover in class, and demonstrate that you understand it.
All programming assignments must at least compile and/or not result in interpreter syntax errors in order to receive a nonzero grade.
Lab work (when applicable) is done in class or other scheduled lab times, and often performed in groups.
Other participation points may be earned by answering questions in class, participating in polls, quizzes, etc.
Your presence and participation are expected at all in-person class meetings. While attendance is not usually taken, remember that your grade may depend on it in other ways, including periodic, unannounced, in-class lab work, Q&A, polls, etc.
Each assignment specifies a due date. Late work may be docked up to 10% for the first day, and 20% for each subsequent day. I realize that emergencies, medical or otherwise, may affect your ability to turn in work. It is your responsibility to make me aware of any problems, so please contact me and make arrangements before the work is due, if at all possible.
All work submitted is to be your own, unless explicitly stated in the instructions. Claiming another's work as your own, copying material from another student, or acquiring prior knowledge of in-class assignments will result in grade of zero and possible dismissal. Also, please keep in mind that I will perform similarity tests on programming assignment submissions, and plagiarized code is usually very easy to detect.
Working together is an important aspect of learning, and a good thing in general. You are encouraged to study with your fellow students and discuss general topics, concepts, strategies, etc. This does not mean you can copy from them! Be sure to follow the plagiarism guidelines.
Please contact the instructor as soon as possible if you need accommodations. As required by the Americans with Disabilities Act (ADA), accommodations are provided to ensure equal opportunity for students with verified disabilities. If you need assistance with an accommodation, please contact Accessibility Support Center, room 1073, 479-6379, or Learning Skills Program, room 1073, 479-6220
It is the student's responsibility to officially withdraw from classes. However, students missing more than two assignments may be dropped from the course at the instructor's discretion, unless prior arrangements have been made and agreed to.