

Credits: 3 (2,2)
Prerequisite:
C or better in CP SC 102 or 212.
Lab topics include:
Last Updated:
Catalog Description
An intensive course on software development using an imperative language.
Topics include typical program development tools such as debuggers and
make files, software development and testing techniques such as separate
module development and testing, pointers and explicit heap management,
and low-level file I/O.
Who Should Take This Course
Required for:
Majors in Computer Science and Computer Information Systems.
Elective for:
Any interested student who satisfies the prerequisites.
Expected Outcomes
The student who completes this course:
Course Outline
Topics
Topic
Percent
Programming in C
Basic concepts, data, statements, operators and expressions.
Functions, pointers, arrays, strings, structures, and unions.
Dynamic memory allocation and deallocation.
The preprocessor.
35%
Software implementation techniques
Modules and separate compilations; stubs, drivers, and incremental
development.
Testing and debugging, including use of tools.
15%
Basic concepts of I/O
Binary and text file I/O.
Random access file I/O.
20%
Basic facilities of C++
I/O streams.
Parameter passing mechanisms.
Classes and inheritance.
15%
Additional topics, quizzes and exams.
15%
Lab Component
The purpose of the laboratory component is to introduce and use tools and
techniques that improve students' skills in developing programs in a Unix
environment.
Additional Components
There will be several programming projects to be completed outside class and
lab. At least one of the projects will be a major project requiring a
substantial amount of work to complete.
©
Department of Computer Science.
All rights reserved.
Renovation, mistakes, and maintenance by the Webmaster.