Course Number
    161
Course Name
    Introduction to Computing I
Credits
    4
Prerequisite
    MA160 (co-requisite)
Course Description
    An introduction to the concepts and techniques of computer programming. Emphasis is placed on developing the student's ability to apply problem-solving strategies to design algorithms and to implement these algorithms in a modern, structured programming language. The course includes a laboratory component. This course is currently taught using Java.
Course Objectives
    At the end of this course, a student will:
      A. be able to design a solution to a given problem.
      B. be able to write a program to implement the
            solution.
      C. be able to properly test a program to ensure its
            correctness and robustness.
      D. be able to use accepted style when writing a
            program.
      E. be able to use a computer system to edit, compile,
            and execute a program.
Course Outline
    1. Problem Solving
      a. Problem analysis
      b. Algorithm development
      c. Structured programming techniques
      d. Testing and debugging
      e. Documentation
    2. Computing Facilities at MU
      a. Hardware and software
      b. Using the computer network
      c. Creating, editing, compiling, and executing a
           program
      d. Using symbolic debugger
      e. Using electronic mail
    3. Programming Language Fundamentals
      a. Vocabulary
        1) Literals
        2) Identifiers
        3) Reserved Words
      b. Program structure
        1) Declarations
        2) Executable statements
    4. Data Types and Declarations
      a. Scalar data types
        1) Integer
        2) Real
        3) Character
        4) Boolean
      b. Data Declarations
        1) Variables
        2) Constants
    5. Simple Statements
      a. Input from the keyboard
      b. Output to the screen
      c. File I/O using file redirection
      d. Arithmetic expressions and assignment
    6. Control Statements
      a. Sequential
      b. Boolean Expressions
      c. Loops
        1) Definite
        2) Pre-Test
        3) Post-Test
      d. Selection
        1) One Alternative
        2) Two Alternatives
        3) Many Alternatives
    7. Additional Data Types and Object Oriented Programming
      a. Enumerated types
      b. One-dimensional arrays
      c. Multi-dimensional arrays
      d. Strings (concatenation, substring operations)
    8. Subprograms
      a. Procedure definition and invocation
      b. Function definition and invocation
      c. Parameters
      d. Block structure and scope
    9. Sorting and Searching
      a. Sequential search
      b. Binary search
      c. An elementary sort
    10. Additional Topics
      a. Inheritance
      b. Mathematical programming
      c. Computer science applications
      d. Text Processing
      e. ASCII representation of character data
Suggested Texts
    A Computer Science Tapestry: Exploring Programming and Computer Science with C++ by Owen L. Astrachan
    Fundamentals of Programming: An Introduction to Computer Programming Using C++, Richard Halterman, Business and Education Technologies, 1995.
Related Readings
    An Introduction to Programming, Michael Schneider, Steven W. Weingart, and David M. Perlman, Wiley, 1982.
Return to Curriculum Page