COSC 110
Syllabus of Record
I. Catalog Description
COSC 110 Problem Solving and Structured
Programming 3c-0l-3sh
(For science, mathematics, and computer
science majors, and for others who have a sufficiently quantitative orientation.)
Basic structure of modern digital computers; problem analysis and computer
solution using flowcharting and the C++ language. Exemption or credit by
examination possible.
II. Course Objectives
Upon successful completion of this course,
the student will be able to
A.
Use an integrated programming environment.
B.
Develop algorithms from user problem statements.
C.
Express the solutions to computer oriented problems in flowcharts and/or
pseudocode.
D.
Give commands to compile, link, and run their own programs, including
using common options.
E.
Proficiently transform designs of problem solutions into C++ programming
language.
F.
Apply debugging and testing techniques to locate errors and determine
the effectiveness of a program.
G.
Recognize and use the correct C++ programming language syntax.
H.
Apply structured programming techniques including design approaches,
mnemonic naming, use of
documentation, and avoidance of excessive branching.
I.
Use these programming elements:
variable declaration, use of data types and simple data structures (arrays and records),
decision structures, loop structures, input and output for terminals and files, output form, and
subordinate functions.
III. Course
Outline
A.
Introduction
2 hrs
1.
History of computers
2.
Components of a computer
3.
Programming languages
4.
Compilation vs. interpretation
B.
The Programming Environment 4 hrs
1.
Editing
2.
Compiling
3.
Linking
4.
Options
5.
Debugging
6.
Redirection of input and output
C.
Algorithm development using flowcharts/psuedocode 4 hrs
1.
Software engineering method
2.
Classic problems - maximum, minimum, sum, average
D.
Basic input and output 1 hr
E.
Data types
4 hrs
1.
Constants
2.
Variables
3.
Expressions
4.
Library files and functions
F.
Simple Data Structures 7
hrs
1.
One dimensional arrays
2.
Strings as arrays
3.
Multi-dimensional arrays
4.
Records
5.
Classic problems - searching, sorting
G.
Use of decision structures 3 hrs
1.
Single alternative
2.
Double alternative
3.
Multiple alternative
4.
Nested structures
H.
Loops
3
hrs
1.
While loop
2.
Do-while loop
3.
For loop
4.
Counting loop
5.
Priming read loop
I.
Programming language form 2 hrs
1.
Syntax
2.
Structured code
3.
Documentation
4.
Case sensitivity
J.
Advanced formatted I/O including file access 4 hrs
1.
Formatted input and output
2.
File I/O
3.
Sequential file processing
K.
Testing and Debugging Techniques 1 hr
L.
Functions
3 hrs
1.
Argument passing
2.
Returning results
3.
Recursion
4.
Testing a program system
M.
Introduction to the Object Oriented Approach 1 hr
IV. Evaluation Methods
The final grade for the course is
determined as follows:
50-60%
Examinations. Three mid-term
exams and the final - each consisting primarily of multiple choice, true-false,
and short answer questions.
30-35%
Programming assignments. There
are approximately six programming assignments worth varying numbers of points
that collectively count this portion of grade.
Suggested tasks for the assignments include: linear search, sorting, 2-D array processing,
interactive programming, simulation, sequential file processing,
modularization.
10-15%
Class participation and quizzes.
This may be based on written questions, verbal discussions, computer lab
sessions, or other form of interaction.
Suggested Grading Scale: 90-100%
A, 80-89% B,
70-79% C, 60-69%
D, 0-59% F