Course Description

This course is an introduction to programming for students with little or no programming experience. There are two primary goals:

  1. To learn fundamental programming skills
  2. To learn systematic and logical thinking

Basic programming concepts include: variables, loops, conditionals, arrays, functions, and classes. Basic problem solving approaches include: abstraction, division into sequential pieces, and division into layers. All code is written in the Java programming language.

This material will be learned through a combination of reading assignments, analysis assignments and program writing. One objective of the course is to further develop your programming skill. There will be 4 programming assignments. Many of the meetings of this course will include lab time, during which you will practice programming hands-on. Bring your laptop and book to every class. Attendance is required.

Further Information

Book, Course Information, and Prerequisites

Java: An Introduction to Problem Solving & Programming. Fifth Edition. Walter Savitch and Frank Carrano. Prentice Hall © 2009. ISBN: 0136072259.
Credit Hours:
SN011 (Sitterson Hall)
MTWRF 9:45-11:15 AM
There are no prerequisite courses. If you have already taken a computer programming course, you probably should be enrolled in COMP 401.

Course Instructor

Darrell Bethea
FB346 (Brooks Building, attached to Sitterson)
Click to reveal
Office Hours:
MW 1-2 PM (held in FB331)

Honor Code

Please familiarize yourself with the honor code policy for computer science courses. You will be required to complete a signed pledge to hand in with every programming assignment.

Tentative Schedule

(Subject to change as needed.)

Date Topic(s) Reading Assignment Homework
05/10 (T) Introduction
Homework 0
Computer Basics Sections 1.1-1.2
05/11 (W) Designing Programs Section 1.3 Program 1
Java 6.0 Documentation
Installing Eclipse
Lab 0
05/12 (R) Primitive Types and Strings Sections 2.1-2.2 Homework 0 due
Section 2.1
Lab 1
05/13 (F) Console I/O
Sections 2.3-2.4
Order of Operations
Section 2.5
Lab 2
05/16 (M) Review of Chapters 1 & 2
Chapters 1 and 2 Review Worksheet Chapters 1 and 2 Review Worksheet Solutions
Branching Statements Section 3.1
Program 2
Program 2 Tips
05/17 (T) If/Else and Switch Statements Section 3.2-3.3 Lab 3
05/18 (W) Loop Statements Sections 4.1-4.2 Program 1 due
Work on Programs 1 and 2
05/19 (R) More Loops
Review Loops and Strings
Strings and Loop Review Worksheet
Program 3
Strings and Loop Review Worksheet Solutions
05/20 (F) Classes Section 5.1
Lab 4
05/23 (M) More Classes In-Class Assignment
Program 2 due
Lab 5
05/24 (T) Information Hiding and Encapsulation Section 5.2
Objects and References Section 5.3
05/25 (W) Midterm Review Practice Midterm
Practice Midterm Solutions
Lab 5 Solution:
Misc. Midterm Questions
05/26 (R) Midterm Exam in SN014
05/27 (F) Review of Midterm Exam Midterm Solutions
Lab 6
05/30 (M) Holiday — No classes
05/31 (T) Constructors and Static Methods Section 6.1-6.2
Program 3 due
Designing and Overloading Methods Sections 6.3-6.4
06/01 (W) Arrays Section 7.1-7.3 Program 4
Lab 7
Previous Lab 7 Class Solutions
06/02 (R) More Arrays
Lab 8 Solution: Lab 8
06/03 (F) Multidimensional Arrays Section 7.5
Review Arrays Array Review Worksheet
Array Review Worksheet Solutions
06/06 (M) Inheritance Sections 8.1-8.3 Program 4 Debugging
Help with Program 4
06/07 (T) Inheritance
Program 4 Method Guide
Help with Program 4
06/08 (W) Inheritance and Polymorphism
Intro to Search Algorithms Section 7.4
06/09 (R) Review Array/Inheritance Review
Array/Inheritance Review Solutions
06/10 (F)
Final Exam Review Example Exams From the Past
(Note: These exams may cover more material than we did. Do not worry about topics that we did not cover.)
Past exam 0
Past exam 1
Past exam 2
Program 4 due
06/13 (M) Final Exam, 8-11 AM in SN014