CS-12GP Syllabus

On This Page
Instructor Information
Name Ed Parrish
Email See instructor's homepage.
Office location See instructor's homepage.
Office hours See instructor's homepage.
Phone See instructor's homepage.
Contacting Instructor If you have any questions about the course or need assistance, please contact me during office hours in person or by telephone, or at any time by e-mail. When contacting by e-mail, be sure to include the course number and your name.
Catalog Information
Course title Introduction to Programming Using Games and Simulations
Course Number CS 12GP
Section Number 73606
Course description Presents an introduction to computer programming concepts and methodologies by developing games and simulations in the Java programming language. Topics include: algorithms, data types, declarations, expressions, selection, repetition, methods, recursion, libraries, arrays, classes, objects, 2D graphics, animation, sound, files and streams. Prepares students for CS 19 or CS 20J
Course dates 08/29/11 through 12/17/11
Location Room 1302 (see the Campus Map links on the instructor's homepage)
Meeting day(s) and time(s) TU 11:00 AM - 1:05 PM
TH 11:00 AM - 12:50 PM
Final Exam Schedule Tuesday, Dec. 13 @ 10:00 am-12:50 pm
Prerequisite(s) MATH 154 (Elementary Algebra)
Recommended Preparation CS 1 if lacking computer skills; Eligibility for ENGL 100 and READ 100.
Learner Outcomes
 

At the end of this course, students will be able to:

  1. Solve problems by designing elementary computer algorithms.
  2. Develop small-to-medium sized Java programs that implement basic algorithmic designs.
  3. Organize and document program code following the principles of software engineering.
Who Should Take This Course
  The following people will benefit from this course:
  • Students who want to learn beginning programming skills.
  • Students who want to learn to program simulations or video games.
  • Students preparing for CS-19: C++ Programming, or CS-20J: Java Programming.
Student Preparation
Email All students are requested to have an e-mail account. Please keep your email current in WebAdvisor

When sending me an email please state your name and course number. Please make sure your emails are professional, that words are spelled correctly and that you use good grammar. If you have not received my reply within a day, then check your spam folder before sending me another email.

Internet Access You need Internet access to view course materials on my web site, to turn in assignments, complete exercises, and to take tests. Internet access is available in the CTC for all students enrolled in this course.
Technical Skills Students need technical skills in the following areas to be successful in this course:
  • Computer operation and program installation
  • File and folder (directory) management
  • E-mail usage
  • Text editing
  • Web browser usage

Note that these skills are taught in CS-1.

Patience and Time If you have enough time to sit in class and in lab, but do not have 6-10 hours a week to devote to homework, drop this class. You will need time to design solutions to assignments and experiment with the commands of the programming language.
Lecture and Assignment Schedule
  For a listing of the scheduled lectures and assignments see the Course Schedule. Most assignments are electronically uploaded to Blackboard and the dates and times shown in Blackboard supercedes the dates shown on the schedule.
Textbooks and Other Materials
Required books Introduction to Programming with Greenfoot, 1st Edition, Michael Kolling, Prentice Hall, ISBN: 0136037534. Also, you may buy a 180 day subscription for a reduced price.

It is important that you have access to this book because there is required reading from the book, programming projects are assigned from the textbook, I test on material from the book, and it will help you get a better grade in the course.

Teaching Methods
Assigned reading Each week you have assigned reading, which you are expected to complete before class. In addition, you are expected to skim the lecture notes before class. During class, you will be expected to join in the discussions and answer questions about the readings. For reading strategies see: How To Read A Textbook or How to Read a College Textbook
Lectures Important material from the text and outside sources will be covered in class. You should take careful notes as not all material covered can be found in the texts or readings. Discussion is encouraged as is outside material relevant to topics being covered.
Activities As part of each class meeting, we have in-class activities and exercises to reinforce and support the lecture material. You need to participate in the activities and work on the in-class exercises during the allotted time in class. You are usually given enough time in class to complete the in-class exercises. However, if we run out of class time then you may need to complete them at home.
Assignments The programming assignments let you apply what you have learned to new situations, analyze problems and see the patterns in the programming language. You will turn in your programming assignment using the Assignment submission tool in Blackboard.
Assessments There are three tests during the semester: two midterms and a final exam. There may be quizzes as well. The first midterm covers the material from the first part of the course, the second midterm from the subsequent part of the course and the final covers material from the final part of the course. However, the course is progressive and you will need to use material from the first part during the second part and the final. Also, I may include questions from the first part where students had difficulty.
Online Labs The schedule of classes lists, "4 hr 5 min online lab per week". You are graded, in part, on completing the online labs each week. The online lab instructions are posted in Blackboard. Everyone must turn in their labs via Blackboard.
Project Towards the latter part of the course you will have a large project to complete. The purpose of the project is to use the knowledge and skills you have learned from this course to create a useful application. I specify several requirements and you make many design decisions.
Internet All material will be distributed on the Internet. Class notes, instructional material, and student assignments will be posted on the class web site. Most assessments and assignments are turned in using Blackboard. Students are encouraged to go to both the course web site and Blackboard in order to obtain file downloads, submit completed work and to view items of interest throughout the semester.
Typical Class Session A typical class session is organized like the following:
Tuesday
TimeEvent
10:20 AMLecture, exercises and discussion
11:20 AMBreak
11:30 AMLecture, exercises and discussion
12:25 PMClass ends
Thursday
TimeEvent
10:20 AMLecture, exercises and discussion
11:10 AMBreak
11:20 AMLecture, exercises and discussion
12:10 PMClass ends
Grading Policies
Assessed areas Your final grade is weighted based on your performance in the following areas:
Assignments (projects, exercises, labs) 35%
Midterm exams 30%
Final exam 35%
Assignments Programming projects and other assignments are due at the date and time shown in Blackboard. I will not accept late assignments without a compelling reason, such as a death in the family or a serious illness, because assignment solutions are both discussed in class and posted online. However, it is possible to improve assignment scores by completing extra credit work. Most assignments have some extra-credit options.
Online Labs Your work on the labs is due at the date and time shown in Blackboard. Labs are graded on a "best-effort" basis. You will receive full credit if you clearly attempt to complete the entire lab. For each portion of a lab that you do not complete, you will lose some of the lab score. Late labs, like assignments, are not accepted without compelling reasons.
Midterm exams The midterm exams must be taken when scheduled, except by prior arrangement with the instructor.

If you score below 75% average on your midterm exams, you may request the instructor to weight the final exam more heavily and the midterms less heavily. For such requests, the instructor will weight the midterms at 20% and the final exam at 50%. You must make this request in writing, such as e-mail, before the final exam.

Final exam The final exam is a practical exam given during finals week. You will need to complete a series of programming steps to pass the final. Some multiple-choice and short answer questions may be given as well.
Grade interpretation Grading within each area is based on the following scale:
Grade From To Description
A 90% 100% Outstanding work demonstrating mastery of the subject.
B 80% 89.9% Above average work with a solid understanding of the subject.
C 70% 79.9% Satisfactory work meeting all minimum requirements.
D 60% 69.9% Substandard work not meeting expectations in one or more areas.
F 0% 59.9% Unsatisfactory work.
If you have questions about problems you missed on any exercise or assignment, please see me right away. I want to ensure both that you understand the material and that your grades are accurate and fair.
DSPS Statement
Equal Opportunity Students needing accommodations should contact the instructor right away. As required by the Americans with Disabilities Act (ADA), accommodations are provided to insure equal opportunity for students with verified disabilities. If you need assistance with an accommodation, please contact Disabled Student Services, Room 810, (479-6379) or Learning Skills Program, Room 1073, (479-6220).
Alternate Grading and Incompletes
Credit/No Credit Option By default, everyone receives a letter grade. If you request the Credit/No Credit Option, you must complete the course work at a satisfactory (that is a "C") or better level. For more information, see the Cabrillo Academic Policies and Procedures document.
Incompletes You may request an incomplete from the instructor if you are "doing passing work and regularly attending at least 75% of a course, but are unable to take the final exam (or otherwise complete the course) because of illness or other unforeseeable emergency and justifiable reasons." (Quotation from the Academic Policies and Procedures document.)
Working with Others
Working in groups If you would like to work with other people, then there are restrictions on what you can do. Specifically, you must do your own work as discussed in the section on Scholastic Honesty Policy.

Group work can accelerate learning, but only when each student takes responsibility for mastering all the material. Little is learned if each student works only one or two problems and merely copies answers for the rest.

In-class exercises Sometimes there are not enough computers for every student to have their own computer in this classroom.To work around this shortage of computers, you may need to work with others on in-class exercises. If there are more students than computers, you must be willing to work with one other student. If there are more computers than students, you may still work on in-class exercises together, if both students so choose. In any case, you are expected to work on the exercises during class.

When working together, you and your partner must work collaboratively at the single computer. One person is the "driver" and types the work into the computer. The other person is called the "reviewer" and actively checks the work entered by the driver. Each partner spends about one-half of the time for each class as the driver and the other half as the reviewer.

Tutors Tutors are often available in the CTC and in MESA. Tutors can provide an invaluable service by helping you learn the material. However, tutors do not help if they do the work for you. Thus, you should not expect tutors to type code for you or write out or tell you what to type.

Tutors can show you how to use computers and computer programs such as our compiler. They can discuss problems and suggest ideas for solving problems. They can also look at your code and point out errors. Tutors help you to learn the material, but do not write any code for you.

Scholastic Honesty Policy
  Scholastic dishonesty is any act designed to give an unfair or undeserved academic advantage. Students who are scholastically dishonest hurt both themselves and other students. They rob themselves of both the knowledge of the course and the experience of learning how to learn. They harm other students as well because they may unfairly get a higher grade and nobody can trust that the graduates of a course know the material.

Scholastic dishonesty includes:

  • Cheating: Intentionally violating the rules of the course by possessing, communicating, using, or attempting to use materials or to take actions that the instructor has prohibited.
  • Plagiarism: Use of distinctive ideas, words or code belonging to another person, without sufficiently acknowledging that person's contribution.
  • Collusion: Unauthorized collaboration with another person in the preparation of an academic assignment offered for credit.
  • Misrepresenting facts: Providing false information for academic advantage such as for postponing an exam or extending a deadline on an assignment.

For any work submitted in this course, you are not authorized to copy or use work from any source unless it is specifically stated in the assignment documentation. If you use distinctive ideas from another source, such as a book or the Internet, you must credit the source well enough so that it is easy for the instructor to find. Note that the instructor uses various services and tools to detect cheating by comparing your work with other students, books and the web.

Any person caught cheating, colluding, plagiarizing or misrepresenting facts will be given a grade of zero for the assignment or exam. The second offense will result in a no-pass or failing grade for the course. These offenses will be reported to the Dean of Student Services for inclusion in your academic record.

For a tutorial on avoiding cheating and plagarism see: Avoiding Plagarism.

Assignment Integrity
  In this course, you must either use pair programming (when permitted), or personally complete the entire assignment yourself. To complete the entire assignment means that you must write all your own program code. You may discuss assignments with other people, but ultimately you must write the code yourself. Not writing all the code yourself is considered cheating.

If the assignment seems too hard to complete without more help, whether pair-programming or not, then you should contact me. My job is to help you understand the material. As an option, you may discuss your assignment, and show your code to, another Cabrillo College Computer Science Instructor, if they agree. Note that this list does not include tutors. Tutors must follow the same rules for acceptable help as other non-students.

You may still help other students, and receive help from other students (or tutors), and I encourage you to do so. The following lists are intended to help clarify the rules about appropriate assistance for assignments:

Acceptable Help
  1. Showing others how to use, or solve problems with, computer applications such as compilers, text-editors and debuggers
  2. Discussing problems and ideas for solving problems with other students or tutors
  3. Describing your algorithms to other students using diagrams, psuedocode or natural-language statements
  4. Looking at another person's code and pointing out an error, as long as you do not write or type any information, or dictate what program code to type or write
Unacceptable Help
  1. Typing or writing any assignment code for another person, or allowing someone to type or write assignment code for you
  2. Looking at another person's code while typing or writing your own assignment program
  3. Listening to someone else dictate program code for an assignment while typing or writing, or dictating to some else the program code to type or write
  4. Providing a copy of your assignment code, or any portion of your code, to any person other than the instructor, including posting your code online or emailing it to someone, until after the assignment due date has passed.
  5. Communicating your answer for an assigned problem to anyone by any means until after the assignment due date has passed.

These are not all-inclusive lists. If you have questions about what is permissible, please ask me.

Also, note that these rules do not prohibit you from sharing assignment solutions with other students after an assignment is due and turned in. Blackboard has an option for sharing your assignment with other students, called publishing, that you are welcome to use. Reviewing other people's solutions can help you learn, but only after you complete the assignment on your own.

Assessment Integrity
  During exams, I expect there to be no talking and no wandering eyes. You are responsible to make it abundantly clear to me that you are not cheating and that you are working alone. Cheating on exams includes, but is not limited to, the following:
  1. Communicating with anyone but the testing proctor during the test period
  2. Failing to comply with instructions given by the testing proctor
  3. Possessing materials that are not authorized by a testing proctor, such as calculators, cell phones, pagers, lessons, books, or notes
  4. Copying from another student
  5. Using, buying, stealing, soliciting for, or transporting some or all of the contents of a test or test rubric
  6. Substituting for another person, or permitting another person to substitute for oneself, in taking a test

This is not an all-inclusive list. If you have questions about what is permissible, please ask me.

Students automatically consent to re-take an exam, or an exam deemed to be equivalent by the instructor, if the instructor has any question about the integrity of the results.

Home | Blackboard | Schedule | Expectations | Syllabus
Help | FAQ's | HowTo's | Links
Last Updated: September 02 2011 @16:45:07