CSCI-161: Introduction to Computer Science

Fall 2009

Contact Info

Instructor: Jason Sawin
Lectures: 161A: MF 9:00-9:50 (TH 383), TTh 8:30-9:20 (TH 399)
161B: MF 10:00-10:50 (TH 391), TTh 9:30-10:20 (TH 391)
Labs: Most Thursdays, class will be in TH 409 for lab
Phone: 879-3551
Email: jsawin@ups.edu
Office: Thompson 405
Office Hours: MTTh: 2:00-2:50, F: 11:05-11:50, when my door is open, and by appt.
Tutors: (Thompson 409) Sun 7-9, M 7-10, TWTh 7-9

Contents

Resources:

Notice:

This site will be updated regularly with weekly lab assignments, homework assignments and solutions. Please check this page regularly.

Tentative Schedule:

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

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 relevant 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. The use of cell phones and laptops are prohibited during lectures unless special permission is give. 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:

NOTE ON EXTRA CREDIT: Throughout the course extra credit projects may be announced. Extra credit will only be applied to the students grade at the end of the semester after all other grades have been calculated. Extra credit points will be applied until the students final grade changes by one grade (e.g., B to B+) or until the student's points are exhausted which ever happens first. No late extra credit assignments will be accepted.