|
|
Instructor
and Class Information:
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).
|