COMP 14-091: Introduction to Programming

Summer Session I 2000

Old Well

Main | Syllabus | Schedule | Assignments | Grades | Resources

Line
 

1. Organization

Instructor:

 
Nick Vallidis
Office SN 038
Phone 962-1776
E-mail vallidis@cs.unc.edu
Office Hours MWF 1:00-2:00pm
TR 4:30-5:30pm
Lab Assistants Schedule

Meeting Times:

 
Day/Time MTWRF 3:00-4:30pm
Place SN 014

Web page:

http://www.cs.unc.edu/~vallidis/comp14/
Check it often!

2. How does this course fit in?

Overview:

COMP 14 is an introduction to computer programming for students with no prior programming experience. We will learn how to take a problem and express it algorithmically, and then take this algorithm and express it as a computer program.

We will first discuss basic principles of computer programs and the relationship between computer software and hardware. We will learn the fundamentals of the write-compile-debug cycle by examining simple computer programs. We will discuss how to take a problem and construct an algorithm to solve it. We will examine several standard programming elements such as assignments, expressions, branches, loops, input/output, functions, and basic data structures such as arrays and structs.

If you have had previous programming experience, COMP 114, "Foundations of Programming," may be more appropriate (however, it is not offered during the summer). For information on this course, please refer to http://www.cs.unc.edu/Admin/Courses.

Pre-requisites:

There are no official pre-requisites for this class. However, you will find this class very difficult if you lack basic computer skills (such as using a web browser, writing e-mail, or using applications such as a word processor) or knowledge of algebra. If this is your first time using a computer, I would recommend moving to COMP 4.

Post-requisites:

This course (or COMP 15 or COMP 16) is required for COMP 114.
Satisfies a mathematical sciences perspective.

Miscellaneous Comment:

You may get credit for only one of these courses: COMP 14, 15, OR 16. See http://www.cs.unc.edu/Admin/Courses/descriptions/14vs15vs16.html for info on how to choose the correct course.

3. Course Materials

Textbook:

Lewis, John, and William Loftus, Java Software Solutions, Second Eddition, Addison-Wesley, 2000.

Other:

You will need 3 diskettes. These can be obtained from student stores, or your nearest AOL advertisement (ok, so now they send CDs...). You will hand in your assignments on disk. I also STRONGLY advise you to keep a backup copy of whatever you are currently working on on a SEPARATE diskette.

Software:

We will be using Microsoft's Visual J++ to do our assignments. It should be available on all lab PCs. You can also request a copy of your own at the receptionist's desk in Sitterson Hall. Just tell her (Tammy) you are taking COMP 14 and would like a copy of Visual J++.

Labs:

You need an ATN user id to use the labs. You can get one from http://help.unc.edu/
Apparently not all the labs are open during the summer, but the schedule for the labs can be found at this address: http://help.unc.edu/labs/schedules.html

4. Objectives

This course is an introduction to computer programming. You will start on the long path to making the computer a slave to your every whim, but you won't be a master programmer after taking this course.
  1. Get comfortable with the concept of computer programming. "The computer is sitting there waiting for me to tell it what to do, but it doesn't know much so I have to tell it exactly what to do."
  2. Understand the meaining of algorithm, program, etc.
  3. Actively participate in the entire programming process (design, coding, testing, debugging)
  4. Understand and use basic programming control structures:
  5. Understand different data structures and know when to use each
  6. Understand and use more advanced concepts:

5. Policies

Homework

Late assignments get no credit. However, your lowest homework grade will be dropped.

Exams

There will be no make-up exams except in cases of extreme medical or family emergencies.

Cheating

Don't do it. In general, it's ok to discuss the assignments with others, but when you get to the coding point, work on your own. It's perfectly ok to talk to someone about syntax issues, but that should be it. Anything else, ask me! Here is a copy of the departmental additions to the honor code to cover programming

Incomplete

You must take the final exam in order to get an incomplete. This is university policy. Further, I will be extremely reluctant to award an incomplete so you will have to appeal to me personally for the opportunity.

6. Grading

The final grade will be determined by using the following formula:
 
Homeworks 50%
Midterm 20%
Final 20%
Participation/Discretionary 10%

7. What to expect and recommendations

Computer Science is math! All a computer really knows is basic arithmetic, so everything else has to be built up from that.

This class is a big time commitment. Programming takes time. You also have to think differently than you are probably used to. You have to be exact in everything you do or the computer will not do what you would like it to.You will spend lots of time working on this class (as mentioned in the summer school course description at http://www.unc.edu/summer/file_16.html). So start assignments early.

Start assignments early!

Start assignments early!

Start assignments early!

Start assignments early!

Start assignments early!

Start assignments early!

Start assignments early!

Start assignments early!

(Get the picture?)