125: INTRO TO COMPUTER SCIENCE
Fall Semester 2012
T-TH 10:30 – 12:10 (IVERS 222-222)
T-TH 12:50 – 2:30 (IVERS 221-222)
Instructor: Daniel Thureen, IVERS 234L, Phone: 299-3376
Office Hours: 1:20 – 2:30 PM MWF
Other times by appointment or discovery
Textbook: JAVA For Everyone by Cay Horstmann, Wiley 2013
Tutor: Stephanie Schilz
PRIMARY COURSE OBJECTIVES, to learn:
1. General knowledge about computing and information technology.
2. Develop strong problem solving skills.
3. Basic programming and software development skills.
4. Familiarity with the Java programming language
5. Preparation for continuing on to higher level computer science courses.
1. Ability to program in Java using classes, objects and methods.
2. Ability to convert flowcharts to and from Java code.
3. Ability to identify and discuss the principle components of a computer system.
4. Ability to read & write code documentation using the Javadoc format.
The class instruction will be a blend of dialog based lecture and hands on programming examples conducted in a computer lab setting.
· Assignments will consist of primarily of programming exercises & problems in the Java programming language as a means to both learn Java and develop logic based problem solving skills. Programming problems will be graded based on program correctness, efficiency, clarity and documentation. Generally speaking, it is expected that programming problems will compose the great majority of homework assignments in terms of weight.
· It is expected that all work done for this class will be your own work. Sharing of ideas is encouraged, and a certain amount of collaboration is encouraged, but simply copying problem solutions or programs is a form of plagiarism and will result in a zero for that assignment and possible disciplinary action by the college.
· ALL assignments are due at the BEGINNING of the class period on the Due Date indicated for the assignment. In order to allow a bit of flexibility in scheduling, each student will be given 10 days of "free grace" for completing assignments. These grace days may be applied to the assignments as desired. After all the grace days are used up, any late work will be penalized 10% for each day late. All grace expires and all assignments must be turned in by the final day of class. Plan ahead - finish early! Even experienced programs are prone to grossly underestimating the amount of time required to complete a project. Set aside ample time to document, code, test and debug your programs. If you need help get it early. The longer you wait to get help with the material, the harder it will be to get back on track.
· The best way to learn programming is to write programs. You are encouraged to work on additional exercises and personal projects. Strong problem solving skills are useful in many disciplines, including computer science. When working on problems don’t just focus solely on the solution, actively think about your problem solving process as well. Good software depends on more than code - clear documentation and design is equally important; both will be factored into the grading of programming assignments.
· Pen and paper exercises will be used in conjunction with the computer literacy portion of the course. These exercises will be graded based on correctness & clarity of communication.
· Short quizzes may be periodically given which will be treated as assignments for grading purposes. Only a small percentage of homework will be drawn from such exercises.
Attendance & Participation:
You are expected to both attend class and participate in course activities and discussions. More than 2 unexcused absences will lower your grade. All absences will be considered unexcused unless prior instructor approval is given. If you have a scheduled absence due to extracurricular activities, it is your responsibility to provide prior notice. Later topics are highly dependent on early material. Falling behind early on will make learning subsequent material significantly more difficult. It is nearly impossible to understand more advanced topics if you have missed the preceding material. If a student must miss any class, it is his/her responsibility to get the missed materials and announcements from a classmate.
Exams will draw from assignments, the texts and lecture materials. Exams will be of a pencil & paper format. Unless stated otherwise, all exams are closed book, closed note format. There will be four exams with the fourth exam given during the normal final exam time slot. Since later materials depend on earlier materials, all exams are semi-comprehensive; however the emphasis will be on materials covered since the last exam. Makeup exams will be allowed at the instructor’s discretion. Typically, makeup exams will be allowed for situations arranged with the instructor prior to the exam. While not strictly required, a doctor’s statement is preferred for verifying absence due to illness or injury. Generally speaking, makeup exams must be scheduled within one week of the issued exam. Makeup exams are generally slightly more difficult than the original exams.
Exams (4): 100 pts each = 400 pts
Assignments(9-12): 20 pts each = 200 pts
participation, attitude, etc.) = 100 pts
Total 700 pts
I. Chapter 1 - Introduction
Chapter 2 - Fundamental Data Types
Chapter 3 - Decisions
Exam 1 – Thursday, Sept 20
II. Chapter 4 - Loops
Chapter 5 - Methods
Chapter 6 - Arrays & Array Lists
Exam 2 – Thursday, Oct 18
III. Chapter 7 - Input/Output & Exception Handling
Chapter 8 - Objects & Classes
Chapter 9 - Inheritance & Interfaces
Exam 3 - Tuesday, Nov 20
IV. Basic Computer Technology & literacy
· Processors & processing
· Secondary Storage
· System Software
Final Exam 4 - 10:30 section - Wednesday, Dec 12, 11 AM
12:50 section - Friday, Dec 14, 11 AM