|
Catalog
Table of Contents | Areas of Study | Mathematics | MATH110 syllabus | COURSE NUMBER: | | MATH110
|
| COURSE TITLE: | | Computer Science |
| IAI CODE(S): | | EGR 922 MTH 922 |
| SEMESTER CREDIT HOURS: | | 3 |
COURSE DESCRIPTION: This course is an introduction to the basic techniques of numerical analysis and programming using C++ on the microcomputers. It includes a discussion of computer history, algorithms, flow charts, and the structure and design of software, including debugging. Students get actual experience operating a computer and peripheral equipment. The course is designed for business and engineering students. Class meets 4 hours per week. 3 lecture hours, 1 lab hour.
PREREQUISITES: Grade of "C" or better in MATH120, or MATH125
COURSE OBJECTIVES / GOALS: Relate to students the history and importance of computers and computer science: With at least 60% efficiency, a student should be able to: - State the history of computers and microcomputers.
- Know the various input/output devices along with the characteristics of each.
- State the differences between the major programming languages.
- Know why C++ was selected as the programming language for this course.
- Discuss the similarities between all languages.
Discuss and illustrate the basic features of C++ and show the students how to use the computer to solve numerical problems: With at least 60% efficiency, a student should be able to do the following: - State the difference between integer constants and real constants and be able to write them in C++.
- State the difference between variable and object declarations and be able to write them in C++.
- Write the basic operation symbols for C++ and what they mean in algebra.
- Write simple algebraic expressions in C++.
- Distinguish between and know coding for different data types.
- Understand and use cin input statements.
- Understand and use cout output statements.
- Understand and use comment statements.
- State the difference between executable and non-executable statements and be able to recognize statements as being executable or non-executable.
- Be able to use { }, return, and endl statements correctly.
- Know and be able to use standard flow chart symbols to write flow charts of numerical analysis programs.
- Use concepts about the formation of data based on numerical analysis programs.
- Write and run a program which involves a basic input statement, a calculation, and an output statement.
- Write and use the following transfer of control statements:
- Simple and nested if statements.
- Simple and nested switch statements.
- Write and run C++. programs based on the theory of numerical analysis procedures. The types of problems are to be selected at random from such topics as the collocation polynomial, finite differences, factorial polynomials, and summation techniques. The program should include input statements, output statements, if and switch statements.
- Write while/for loops correctly:
- Recognize the parts and parameters of a while/for loop.
- Know the range of a while/for loop.
- Use increment/decrement operators in a loop.
- Use and recognize correct transferals within and out of a loop.
- State the value of an integer variable after execution of the loop.
- State the sequence of computer operations while in the loop.
- State the differences between the initial, incremental, and terminal parameters.
- Write and run numerical analysis programs based on a single while/for loop such as the Newton formula, operators and collocation polynomials, the Taylor polynomial, the least squares regression formulas, etc.
- Write nested while/for loops correctly:
- State similarities between a single loop and a nested loop.
- Know the order of operations between nested loops.
- State and recognize correct transferals of control between nested loops.
- Write a numerical analysis program based on a nested loop such as Simpson's rule for multiple n values, determinant values, etc.
- Understand Classes of Objects
- Define Classes and state their importance.
- Understand the components and construction of Classes.
- Understand and implement Class reuse.
- Write a numerical analysis program using a Class of objects.
- Write subscripted variables and one-dimensional arrays.
- Know how to properly declare any array.
- Know the definition of an array subscript.
- Be able to use arrays as parameters.
- Be able to use character arrays as strings.
- Understand the use of classes with array components.
- Write and execute a program using one or more one-dimensional arrays.
- Write multi-dimensional arrays in C++.
- Know how to properly dimension the arrays.
- Use different forms of input and output.
- Use loops with arrays.
- Write and execute a program using multi-dimensional arrays for Gauss-Jordan, Cramer's Rule, orthogonal polynomial discrete methods, or other iterative techniques.
- Understand Input and Output streams.
- Understand and use Text files.
- Understand and use ifstream and ofstream classes.
- Write and execute a program that makes use of one or more text files.
- Understand and use the C++ libraries.
To discuss and illustrate the concepts of efficient programming in the numerical solutions of problems.
TOPICAL OUTLINE: Topics to be covered: - Introduction to digital computers
- Characteristics
- How they work
- Programming languages
- Control and operation of the compute
- Software development methods
- Input/output devices
- Career opportunities
- Overview of C++
- Language elements
- Abstraction, data types, and declarations
- Expressions
- Executable statements
- C++ programs
- Libraries
- Functions
- Argument list correspondence
- Classes
- Debugging
- Flow charts
- Selection Structures
- Control structures
- Logical expressions
- Decision steps in an algorithm
- if statement
- switch statement
- Repetition structures
- while statements
- Counters
- Loop design
- for statements
- do-while statements
- Program design and functions
- Output arguments
- Function syntax
- Using objects with functions
- Stepwise design with functions
- Recursive functions
- Simple data types
- Integer data
- Floating decimal data
- Character data
- Boole data
- Arrays
- One-dimensional
- Accessing and reading
- Dimensioning and creating
- Multi-dimensional
- Use with classes and loops
- User-defined classes
- Class definition and implementation
- Classes as operands and arguments
- Summary on rules for use of classes and objects
- Defining and using functions and classes
- Concepts of efficient programming
TEXTBOOK / SPECIAL MATERIALS:
- C++ How to Program, 3rd Edition, Deitel & Deitel, Prentice-Hall, 2001
- Lab microcomputers
EVALUATION:
- At least 60% accuracy to pass the course based on:
- A minimum of ten programs
- Four hourly exams
- Final exam
- Progress during course
- Class participation
BIBLIOGRAPHY:
- Problem Solving with C++; Walter Savitch
- Essential C++ for Engineers and Scientists; Jeri Hanli
REVISION: Fall 2001 10/02/2001
RECORD UPDATED: 2002/04/02 07:19:24 |