Syllabus
CSCI 2610/2611
Introduction to Computer Science II
Spring 2000
Instructor: | Karl Abrahamson
|
Office: | Austin 233
|
Office hours: | MW 3:30- 5:00
|
| TTh 11:00-12:00
|
Phone number: | 328-1879
|
e-mail: | karl@cs.ecu.edu
|
Course web page: | www.cs.ecu.edu/~karl/2610/spr00
|
Text: | Problem Solving with C++: The object of
programming (second edition) by
Walter Savitch |
My door is usually closed, even when I am in. Feel free to
knock.
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. See below for a list of topics.
Grading
You cannot learn computer programming without being able to write
programs and get them running. There is necessarily a hands-on
programming component to CSCI 2610. Rather than adding more programming
work, I will incorporate your lab work for CSCI 2611 into the
grade for CSCI 2610.
The grading for CSCI 2610 will be on the basis of five quizzes (10% each),
a comprehensive final exam (25%)
and approximately twelve programs (25% total).
Tentative grade cutoffs are 90% for an A, 80% for a B, 70% for a C
and 60% for a D. Those cutoffs will not be raised. For example, if
you are sure that you will receive a B according to these cutoffs, then
you will receive no worse than a B.
The grading for CSCI 2611 will be on the basis of approximately twelve
programs, with the same cutoffs as for CSCI 2610.
Topics
- Introduction to C++. Variables and assignment. Producing output.
Primitive types. (Read: 1.1, 1.2, 1.3, 2.1.)
- Input and output. Expressions. Conditionals and boolean expressions.
Loops.
(Read: 2.2, 2.3, 2.4.)
- Designing and understanding loops. Loop invariants. Data oriented
and action oriented loop design.
- Functions. Using predefined functions. Defining functions.
Local variables. Contracts.
(Read: 3.1,3.2,3.3.)
- Recursion and problem solving.
(Read: 12.1, 12.2, 12.3.)
- Procedures and Statements. Call-by-reference.
(Read: 4.1, 4.2.)
- Object-oriented programming.
(Read: 5.1,5.2.)
- Working with files.
(Read: 5.3.)
- More object-oriented programming.
(Read: 6.1,6.2.)
- Additional C++ statements.
(Read: 7.1, 7.2, 7.3.)
- Arrays.
(Read: 9.1,9.2,9.3.)
- String processing.
(Read: 10.1.)
- Multi-dimensional arrays.
(Read: 10.2.)
- Algorithms and problem solving with arrays.
- Pointers and dynamic memory allocation.
(Read: 11.1,11.2.)
- Basics of abstract data types.