CSCI-161: Introduction to Computer Science

Fall 2009

Contact Info

Instructor: Brad Richards
Lectures: 161C:   MF 11:00-11:50, TTh 11:30-12:20 (TH 391)
Labs: Most Thursdays, class will be in TH 409 for lab
Phone: 879-3579
Email: brichards@ups.edu
Office: Thompson 401
Office Hours: MTTh: 3:00-3:50, F: 1:05-1:50 and by appt.
Tutors: Sun, Tue, Wed, Thurs 7-9:00pm; Mon 7-10:00pm in Th409

Contents

Resources:

Schedule:

Week Topic Reading Lab Assignment
8/31 Intro & Overview; BlueJ; Objects, Classes, Methods Chapter 1 Lab 1 Asmt 1 (soln)
9/7 Class Definitions, Variables, Assignment, Output
No Class Monday
Chapter 2 Lab 2 (soln)  
9/14 Multiple Classes, Interaction, this Chapter 3 Lab 3 (soln) Asmt 2 (soln)
9/21 Object diagrams, Collections Chapter 4 Lab 4 (soln) Asmt 3 (soln)
9/28 More on Collections, Loops Chapter 4 Lab 5 (soln) Asmt 4 (soln)
10/5 More loops, start Arrays
Exam Friday — in class (old exam, new solns)
Chapter 4    
10/12 More on Arrays, Random Chapter 4, 5 Lab 6 (soln) Asmt 5 (soln)
10/19 Searching, Sorting
No class Monday or Tuesday
     
10/26 Random, static, Maps and Sets Chapter 5 Lab 7 (soln) Asmt 6 (soln), Essay
11/2 Testing, Debugging, Design Chapter 6, 7 Lab 8 (soln) Asmt 7 (soln)
11/9 Inheritance
Exam Thursday — in class (old exam, new solns)
Chapter 8    
11/16 More Inheritance Chapter 8, 9 Lab 9 (Friday!) Asmt 8
11/23 More Inheritance, Wrapper Classes
No class Thursday or Friday
Chapter 9    
11/30 Exceptions Chapter 12    
12/7 Interfaces; Multiple Inheritance
Wednesday is Last Day
Chapter 10    

Background:

This course is an introduction to computer science and programming. It uses the programming language Java to illustrate concepts in computer science, and the BlueJ interactive Java environment to reduce the complexity of program development. The course emphasizes the use of the computer as a problem solving tool and the development of good programming style. CSCI 161 is the introductory course for students planning to major or minor in computer science. Students planning on taking further courses in computer science should select this course instead of CSCI 158.

No previous programming experience is expected or required — we will start at the very beginning. As a result, some of the initial material may be review for students with previous programming experience. See me if you're in this category, and we can find ways to extend or modify assignments to keep you challenged.

This course builds progressively on previously covered material. Therefore, it is essential to attend all classes and keep up with the reading and the assignments. Students are expected to attend all lectures, with exceptions permitted in case of illness and family emergencies, and should do the assigned readings before the relevent class. The assigned readings listed in the schedule are all from Objects First with Java.

Students will be given weekly homework assignments involving the design, implementation, and testing of computer programs of increasing complexity and sophistication. These assignments form a crucial part of the course, and students are required to work on them individually. Collaboration with other students is not permitted and will be subject to severe penalties. I encourage you to interact with each other and discuss possible implementation approaches, but any sharing of code — even if it's just pointing out something on the screen that you've written — will be considered cheating. Please review the Academic Honesty policy in The Logger and ask me if you have any questions regarding its application to this course.

Lectures will begin and end on time. Please do your best to get to class before the start of the lecture. Use of cell phones is extremely disruptive, so please remember to turn your phones off while in the classroom. The different sections of CSCI 161 will not necessarly be covering the material in the same order or at the same pace. Thus, it is important that you come to the appropriate lab and lecture section each week.

Academic accommodations are available for students with disabilities who are registered with the Office of Disability Services. Please schedule an appointment with the instructor early in the semester to discuss any accommodations for this course which have been approved by the Disability Services Coordinator as indicated in your accommodation letter.

Learning Objectives:

By the end of the semester, students should:

Grading:

Homework for this class will be submitted electronically, and must be turned in by class time on the due date for full credit (unless the assignment explicitly states otherwise). Late homework will be penalized 5% per day, and will not be accepted more than one week late. The following grade cutoffs are upper bounds — they might come down, but will not be set higher: A = 95, A- = 90, B+ = 88, B = 83, B- = 80, C+ = 77, C = 73, C- = 70, D+ = 67, D = 64, D- = 60, F = <60. Your overall grade is composed as follows: