|Introduction to Software Development|
|INTRO S/W DEV|
|CLASS CODE:||CS 144||CREDITS: 3|
|DIVISION:||PHYSICAL SCIENCE & ENGINEERING|
|DEPARTMENT:||ELECTRICAL & COMPUTER ENGINEERING|
|GENERAL EDUCATION:||This course does not fulfill a General Education requirement.|
|DESCRIPTION:||Algorithm formulation, problem solving, fundamental data types. Procedural paradigm of software development. Structured programming. Introduction to object-oriented programming. Intended for non-Computer Science majors.|
|TAUGHT:||Winter, Summer, Fall|
|CONTENT AND TOPICS:||Introduction to computing; introduction to Linux; style; elegance; identifiers; data types; variables; constants; expressions; statements; Bohm and Jacopini structures; single-entry, single-exit; structured programming; selection; repetition; arrays; strings requirements; design; algorithm development; functions; scope; function overloading; recursion; debugging; pointers; structures; object oriented overview-abstraction and encapsulation; classes; classes-constructors and destructors; classes-copy constructor; classes-member functions; input/output; operator overloading.|
|GOALS AND OBJECTIVES:||1. Demonstrate correct usage of the C++ programming language:variables, constants, expressions, i/o, conditionals, loops, functions, arrays, pointers, strings, structures, classes, overloaded operators.
2. Apply funamental software development methodologies when developing computer solutions: detailed design, function decomposition (top-down), bottom-up testing, debugging strategies.
|REQUIREMENTS:||Class attendance is required but is not necessarily part of the grade. Each student is required to read assigned portions of the textbook(s). Access to computers in the Linux computer lab is required to complete homework assignments.
|PREREQUISITES:||Math 110 (may be taken concurrently)|
|EFFECTIVE DATE:||August 2001|