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