|
|
|
Pre-requisites : | MATH 140 Students who have passed CMPSC 101, 201F, or CSE 103 may not schedule this course. |
|
Concurrent : | MATH 141 |
|
Course Objectives : | As primary course objectives students will be able to develop algorithms and data structures from software specifications and develop C++ code. They must be able to analyze algorithms and computer code for correctness and correct software faults. They must interpret the specifications of general and special purpose software languages, and use these languages to design computer programs that are correct and efficient. |
|
When ; Where : | 1 Bookstore Bldg ; MWF 10:00 - 10:50 am |
|
Obtain Your grades on homeworks/exams/final |
|
Your instructor |
|
His office hours, teaching schedule, etc. |
|
Your Textbook |
|
Grading System |
|
Academic Integrity |
|
Login to the Linux Cluster |
|
Your PSU Diskspace |
|
Important UNIX Commands |
|
The vi-editor |
|
List of projects and due dates |
| 1. | Introduction to Computers and Programming (2 lectures) | |
| Components of Computers : CPU , RAM , Storage, Input/Output Operating Systems and software Introduction to UNIX : Logging in, commands, file structure, remote disks Information Presentation : Bit, Byte , Word Number Systems : Base 10,8,16,2 Internal Representation : Integers , Real Numbers , Characters Problem Solving : Problem analysis , algorithm , coding , testing |
||
| 2. | Introduction to C++ (1 lecture) | |
| Compiling, linking, and executing a short program Unix tricks : command repition , filename completion , saving to pass space text-editors ( vi ) vs. word processors |
||
| 3. | Expressions and Interactivity (2 lectures) | |
|
2nd program :
Data types : Integer (6) , real(3) , bool (1) Variables (Concept,naming rules,declaration,assignment) ; as end of language statement arithmetic operations , precedence of mathematical operations and use of parentheces integer division and remainder special assingments ( ++ += ... ) exponention,sqrt, trig functions (Appendix B in text) |
||
| 4. | Making Decisions(2 lectures) | |
|
relational operators ( < > == ) and expressions (true/false) relational expressions with arithmetic expressions logical data type logical operators ( && || )( < > == if - else - else if nesting and switch |
||
| 5. | Looping (3 lectures) | |
|
counter vs. sentinel (flag) controlled repetition while () {} stopped by counter or some event while : finding root with bisection , do while : finding root with Newton's method for : Nested repetition |
||
| 6. | User supplied functions (4 lectures) | |
|
Returning multiple values, Example 1 Returning multiple values, Example 2 |
||
| 7. | File input/output (1 lecture) | |
|
open , read , write , append , close sample program |
||
| 8. | 1-D Arrays (3 lectures) | |
|
declaration , data type, name , elements , size ,
initialization of elements vectors and arrays program : vector arithmetic ( add , magnitude , multipication ) |
||
| 9. | Working on numerical lists (2 lectures) | |
|
searching , minimum , maximum , deletion , insertion , sorting ,
deletion program : sorting 2 lists using arrays |
||
| 10. | Multi-dimensional arrays (2 lectures) | |
|
declaration , data type, name , elements , size ,
initialization of elements matrices and arrays program : matrix arithmetic ( add , magnitude , multipication ) Linear system of equations, Gaussian elimination |
||
| 11. | Character C-strings (2 lectures) | |
|
character variables , strings , initialization supplied string-functions (length , compare , copy ... ) |
||
| 12. | Numerical integration (2 lecture) | |
|
Left-point integration , refining interval size Mathematics for trapezoidal and Simpson's rule |
||
| 13. | Numerical Solutions to Differential Equations (2 lectures) | |
|
Euler's method and algorithm Runge-Kutta Method |
||
| 14. | Introduction to Matlab (2 lectures) | |