COMP 110 - Introduction to Programming (Section 2), Fall'06

 

[Main]

[Syllabus]

[Schedule]

[Assignments]

 

[Resources]

 

 


Instructor and Class Information:

Abhishek Singh
email: asingh AT cs DOT unc DOT edu
Course:http://www.cs.unc.edu/~asingh/COMP110
Office: Sitterson 111, 962-1722

Lectures: MW 3pm - 4:15pm, Gardner Hall 209
Recitation: F 3pm - 3:50pm, Phillips Hall 247

Office Hours: M 2pm-3pm, Sitterson Hall 111

Syllabus:

Objectives:
This course is an introduction to computer programming. The course will cover the fundamentals of computer programming and algorithms. It will be taught using the Java programming language, but this course is not a course on Java. At the end of the semester, you will be able to:

    • Identify the key components of a computational problem,
    • Divide problems it into small, manageable parts,
    • Write Java code to solve the small problems, and
    • Integrate the small-problem solutions to solve the larger problem.

Pre-requisites:
There are no official course pre-requisites for this class, but a basic background in math is needed. Basic computer skills (using a web browser, writing email, using word processing applications, downloading and installing software) are assumed for COMP 110. If you are not comfortable using a computer, consider taking COMP 101. ("Power Tools for the Mind") before taking COMP 110.
If you have previous programming experience, such as in a high school course, (especially, a Computer Science course) consider taking COMP 401 ("Foundation of Programming") instead.

Post-requisites:
This course (or COMP 116 Matlab Programming or COMP 121 Functional Programming) is required for COMP 401. Talk to Prof Weiss to check if this course satisfies mathematical science perspective for you.

Topics:

    • Computer structure: CPU, memory, programs, and algorithms
    • Variables, types
    • Expressions and assignments
    • I/O (from the keyboard, to the screen, & to and from files)
    • Conditional Execution (if/then/else)
    • Iteration (for loops, while loops, do-while loops)
    • Subroutines (methods)
    • Arrays, Vectors, Hashtable
    • Java classes
    • Object Oriented Programming (OOP)

Textbook and Software

Required Textbook:

Java Programming: From Problem Analysis to Program Design, 2nd Edition ( companionwebsite)
D.S. Malik
ISBN: 0-619-21608-5
Available online and at UNC Student Stores.

Software:

jGrasp & Java SDK

Bring your laptops to recitation. We will discuss the programming assignments during recitation and it will be a good time to get started with them.

Grading:

Breakdown:

Assignments

 

40 %

Midterm I

 

15 %

Midterm II

 

15 %

Class Participation

 

5 %

Final Exam

 

25 %

Final Exam Date:
4:00pm, December 14,2006.

Time Commitment:
Expect to spend 5-8 hours per week on this course outside of class. Some assignments may take more time. So do not wait till last moment to start with the assignments.

Assignment Submission:
Submit assignments via blackboard.

Due Dates and Late Assignments:
Assignments will be poseted during recitation (Fridays at 3:00pm), and will be due by the end of next recitation, that is in a week (unless stated otherwise) latest by 4:00pm (i.e. before end of recitation) that day. Late assignments will not be graded. There will be partial marking, that is you would be marked on what all you have done, and the assignment may not be necessarily complete. So, start working early, do your best in the time provided and submit before time.

Other Policies:

Honor code:
Assignments should be individual effort. Though you can discuss programming assignments, the final program you submit should be individual work.

The honor code is spelled out here: http://www.cs.unc.edu/Admin/Courses/HonorCode.html


A large part of class material has been borrowed from Andrew Leaver-Fay (http://www.cs.unc.edu/~plato), and Swaha Miller (http://www.cs.unc.edu/~swaha), previous instructors of Comp110 (previously called COMP 014).