Syllabus
CSCI 2610
Introduction to Computer Science II
Summer 2000

Instructor:Karl Abrahamson
Office: Austin 233
Office hours: M-F 1:00-2:00
Phone: 328-1879
Email: karl@cs.ecu.edu
Course web page: www.cs.ecu.edu/~karl/2610/sum00
My web page: www.cs.ecu.edu/~karl
Text: Problem Solving with C++: The object of programming (second edition) by Walter Savitch

Course objectives

This course focuses on small scale software development using C++. We will cover the C++ programming language and principles and techniques for writing small scale software. Topics will include

  1. Basics of C++: variables, assignments, conditionals, loops, input and output.

  2. Functions. Writing and understanding functions. Recursion.

  3. Elementary algorithm design.

  4. Elementary object-oriented programming.

  5. Working with files.

  6. Arrays and algorithms using arrays. Strings.

  7. Elements of dynamic memory allocation.

Prerequisites

The prerequisite for this course is CSCI 2510. You should have obtained some familiarity with the basics of C++. Some people in this course might not have seen C++ before. I will cover the language from the beginning, so there will be a chance to catch up, but those unfamiliar with C++ will need to work hard to learn the language basics.

Grading

The grading will be on the basis of three exams and approximately twelve small programming assignments. The exams will count for 24% each, and the programs will count for a total of 28%. The final exam will not be comprehensive. It will count as the third exam.

This course has a lab component, CSCI 2611. Since writing programs is an important part of this course, the lab assignments will consitute the programming component of your grade for CSCI 2610. Your grade in CSCI 2611 will be based solely on the lab assignments.

Cutoffs for grades will tentatively by 90% for an A, 80% for a B, 70% for a C and 60% for a D. Those cutoffs will not be raised.

Attendance policy and incompletes

I will not take attendance. It is up to you to attend class. If you miss a class, it is up to you to obtain notes and any other information that was provided in the class. Excuses that you did not know about something because you did not come to class and did not obtain the information will not count for anything at all.

The laboratory offers you a chance to get help while working on your programming assignments. I strongly urge you to take advantage of that help. You will do much better on the programs that way, and will spend less time working on them.

If you decide not to attend the labs, you are on your own. If, near the end of the term, you discover that it was a poor choice not to attend the labs, you will have to live with your choice and the consequences of it.

No incompletes will be issued in this course except for extraordinary circumstances, and even then only if you are nearly done already. In particular, NO INCOMPLETES WILL BE GIVEN BECAUSE YOU WERE NOT ABLE TO COMPLETE THE LAB ASSIGNMENTS, EITHER BECAUSE YOU WERE UNABLE TO FIND THE TIME TO WORK ON THEM OR BECAUSE YOU WERE UNABLE OR UNWILLING TO ATTEND THE LABS.

Summer session

The summer session goes by very quickly. In five weeks, we will cover what is covered in fifteen weeks during the fall or spring sessions. There are no breaks, and you will have to work hard. You should count on working more than three times as hard as during the regular term, because it takes more work to learn material faster. Here are some tips on how to do well in the summer session.
  1. Attend class. Arrive on time. Attend the lab.

  2. Do not allow yourself to fall behind. Work on the homework early. Do not wait until just before the deadline.

  3. Schedule time to work outside of class. You will need to plan to work on programs outside of the lab, and you will need to read on a daily basis.

  4. Read your notes and the book twice. Take a break in between. You will learn much more this way.

  5. If you are having trouble, seek help soon. Do not wait until it is too late.

Course web page

Material for this course is posted on page http://www.cs.ecu.edu/~karl/2610/sum00. More material will be added as the term progresses. All assignments will be posted on the web page.

The course web page contains material on grading of programs that you should read.

Asking questions

There are surely going to be things that you do not understand. Some things are only explained somewhat tersely, and it is expected that not everyone will understand them. ASK QUESTIONS!

Ask questions early, not when it has become too late to make use of the answer. Ask questions in class when you do not understand something. Ask questions in the lab. Do not sit and stare at the monitor waiting for the computer monitor to give you some inspiration. Monitors are not great inspirers.