CSCI-161: Introduction to Computer Science

Fall 2019


Instructor: Brad Richards
Lectures: TH 409 — MWF 10:00-10:50
Lab: TH 409 — Th 11:00-12:50
Phone: 879-3579
Office: Thompson 401
Office Hours: MWF 11-11:50, Th 10:10-10:50
Tutor Schedule: See online schedule




Week Topic Reading Lab Assignment
9/2 Intro and Overview, Objects and Classes, BlueJ
No class Monday
Chapter 1 Lab 1 Asmt 1 (soln)
9/9 State & Behavior, Methods, Constructors, Assignments Chapter 2 Lab 2 Asmt 2 (soln)
9/16 Conditionals, Variables & Scope, Output Chapter 2 Lab 3 Asmt 3 (soln)
9/23 Primitive Types, Object References, Logical Operators Chapter 3 Lab 4
9/30 Interacting Objects, this, debugger Chapter 3 Lab 5 Asmt 4 (soln)
10/7 APIs, Random, String
Exam Thursday — in lab
Chapter 6 No Lab exam topics, old exam, old solns, new solns
10/14 ArrayList collections, Loops Chapter 4 Lab 6 Asmt 5
10/21 More Loops
No class Monday
Chapter 4    
10/28 Arrays & 2D Arrays Chapter 7    
11/4 Testing & Debugging Chapter 9    
11/11 Searching
Exam Thursday — in lab
  No Lab  
11/18 Sorting      
11/25 Stand-alone Applications
No class Wednesday — Friday
Sections 6.16    
12/2 More on Scanner and File Chapter 14    
12/9 Wrap Up
Wednesday is Last Day
Sec 6.6    


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.

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 the BlueJ text.

Students will be given weekly homework assignments involving the design, implementation, and testing of computer programs of increasing complexity and sophistication. The assignments form a crucial part of the course and, unless stated otherwise, students are required to work on them individually. Please ensure that any work you take credit for is your own. Inappropriate collaboration with other students is not permitted and will be subject to severe penalties. In particular, sharing your work in any way with other students (e.g. code inspection, sharing code electronically via email or photos, etc) is inappropriate, as is copying part or all of someone else's work. Code or other hints found online must be attributed, and should not compromise your ownership of the work. Please review the Academic Integrity section 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.

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Peggy Perno, Director of the Office of Student Accessibility and Accommodation, 105 Howarth Hall, 253-879-3395. She will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.

Learning Outcomes:

The following course outcomes are drawn from the 2013 international Computer Science Curriculum guidelines. Upon completion of the course, successful students should be able to:


Your overall grade in this course will be determined as follows: Homework for this class will be submitted electronically, and must be turned in by the time specified on the assignment for full credit. Late homework will be subject to a 5% penalty for each day past the deadline, and is typically not accepted more than two days late. (Each assignment will specify its final late deadline.) 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.

Participation: At the end of the semester you will receive a score of 0 through 5 for participation. The "default" grade will be a 2.5, meaning you were generally physically present and mentally engaged. A higher score will be given to students whose engagement is noteworthy. Examples include: answering and asking relevant questions, pointing out mistakes (in a polite and productive manner), active engagement in class activities. A score of lower than 2.5 will be given for students with multiple absences, minor class disruptions, or being mentally absent.

Emergency Response

Please review university emergency preparedness, response procedures and a training video posted at There is a link on the university home page. Familiarize yourself with hall exit doors and the designated gathering area for your class and laboratory buildings.

If building evacuation becomes necessary (e.g. earthquake), meet your instructor at the designated gathering area so she/he can account for your presence. Then wait for further instructions. Do not return to the building or classroom until advised by a university emergency response representative.

If confronted by an act of violence, be prepared to make quick decisions to protect your safety. Flee the area by running away from the source of danger if you can safely do so. If this is not possible, shelter in place by securing classroom or lab doors and windows, closing blinds, and turning off room lights. Lie on the floor out of sight and away from windows and doors. Place cell phones or pagers on vibrate so that you can receive messages quietly. Wait for further instructions.