Announcements


Course Description

This course is an introduction to programming for students with little or no programming experience. There are two primary goals: (i) to learn fundamental programming skills, and (ii) to learn systematic and logical thinking.

Basic programming concepts include: variables, loops, conditions, 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.


Course Syllabus


Book, Course Information, and Prerequisites

book_cover.jpg
Textbook:
Java: An Introduction to Problem Solving & Programming. Fifth Edition. Walter Savitch and Frank Carrano. Prentice Hall © 2009. ISBN: 0136072259.
Credit Hours:
3
Location:
FB009 (Brooks Building, attached to Sitterson)
Time:
MTWRF 9:45-11:15 AM
URL:
http://www.cs.unc.edu/~cong/teaching/COMP110-SS1-2012.html
Prerequisite:
There are no prerequisite courses. If you have already taken a computer programming course, you probably should be enrolled in COMP 401.

Course Instructor

Instructor:
Cong Liu
Office:
SN144 (Sitterson Hall)
Email:
myfirstname at cs dot unc dot edu
Office Hours:
MW 3:00 - 4:00 pm (held in Sittern144)

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/15 (T) Introduction
Homework 0
Computer Basics Sections 1.1-1.2
05/16 (W) Designing Programs Section 1.3 Program 1
Eclipse
Java 6.0 Documentation
Installing Eclipse
FirstProgram.java
Lab 0
05/17 (R) Primitive Types and Strings Sections 2.1-2.2 Homework 0 due
Section 2.1
VendingMachine.java
TotalCost.java
Lab 1
05/18 (F) Console I/O
May18.java
Sections 2.3-2.4
Order of Operations
StringsAndChars.java
TypeCasting.java
Section 2.5
StringFun.java
Lab 2
05/21 (M) Review of Chapters 1 & 2
Chapters 1 and 2 Review Worksheet Chapters 1 and 2 Review Worksheet Solutions
Branching Statements Sections 1.4, 3.1
DecFormat.java
Program 2
Program 2 Tips
05/22 (T) If/Else and Switch Statements Section 3.2-3.3
Smiley.java Lab 3
05/23 (W) Loop Statements Sections 4.1-4.2 Program 1 due
Work on Lab 3, Programs 1 and 2
05/24 (R) More Loops Loops.java
Review Loops and Strings UNCStats.java
Strings and Loop Review Worksheet
Program 3
Strings and Loop Review Worksheet Solutions
05/25 (F) Classes Section 5.1
Lab 4
05/28 (M) Holiday — No classes
05/29 (T) More Classes In-Class Assignment
    StudentMain.java
Solution:
    Student.java
SmileyClass.java
SmileyMain.java
Lab 5
05/30 (W) Information Hiding and Encapsulation Section 5.2
Objects and References Section 5.3 Program 2 due
05/31 (R) Midterm Review Practice Midterm
Practice Midterm Solutions
Misc. Midterm Questions
06/01 (F) Midterm Exam in FB009
06/04 (M) Review of Midterm Exam Midterm Solutions
Lab 6
06/05 (T) Constructors and Static Methods Section 6.1-6.2
CalculateStuff.java
MathUtilities.java
Comp110Student.java
CreateClassRoll.java
Program 3 due
Sections 6.3-6.4
MathUtils.java
MathUtilsDriver.java
06/06 (W) Designing and Overloading Methods Section 7.1-7.3 Program 4
Lab7.java
FunPatternPanel.java
Lab 7
Previous Lab 7 Class Solutions
06/07 (R) Array basics
ArrayTest.java
June07.java
Lab 8
06/08 (F) Multidimensional Arrays Section 7.5
MyArrayTest.java
Memory.java
Array Review Worksheet
Array Review Worksheet Solutions
06/11 (M) Inheritance Sections 8.1-8.3 Program 4 (second template)
Help with Program 4
06/12 (T) Inheritance Person.java
Athlete.java
ExtremeAthlete.java
HighJumper.java
ShotPutter.java
XGamesSkater.java
Sports.java
Program 4 Method Guide
Help with Program 4
06/13 (W) Inheritance and Polymorphism
Intro to Search Algorithms Section 7.4
06/14 (R) Inheritance Review Array/Inheritance Review
Array/Inheritance Review Solutions
06/15 (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/18 (M) Final Exam, 8-11 AM in FB009