Instructor: Yong Jiang
Course Description: This course covers the basic concepts of computer programming. Topics include program structure and syntax, documentation, input/output, constants and variables, calculations, logic structures, control structures, arrays, file access, and design considerations. The purpose of this course is to equip managers with computer programming knowledge in order to make more informed “build vs. buy” software decisions. The chosen programming language is C.
· Define what an operating system is.
· Examine memory management.
· Examine processor management.
· Examine device management.
· Examine file management.
Overview of Computer Programming
· Discuss the history of programming languages.
· Compare and contrast command, procedure, and object-oriented languages.
· Compare and contrast interpretive languages and compiled languages.
· Examine the appropriate use of various software languages.
· Examine the System Life Cycle Development and Programming Life Cycle Development.
· Define the roles of programmers and analysts.
· Explain the roles of language structure, semantics, and syntax.
Documenting, Coding, Executing, Testing and Debugging
· Explain the need for internal and external standards.
· Explain the importance of program documentation.
· Explain I/O (input/output).
· Explain the processes of compiling and executing software programs.
· Explain the needs and methods for testing and debugging programs.
· Define the types of variables, constants, and equations.
· Demonstrate documenting, coding, compiling, executing, testing, and debugging of software programs.
Functions and Conditional Structures
· Explain built-in functions.
· Explain programmer-defined functions.
· Demonstrate built-in and programmer-defined functions.
· Explain "if" statement.
· Explain "case" statement.
· Explain nesting conditional statements.
· Demonstrate conditional structures.
Looping Structures and Arrays
· Explain "counters" and "accumulators".
· Explain "for" statement.
· Explain "while" statement.
· Demonstrate looping structures.
· Explain one-dimensional arrays.
· Explain two-dimensional arrays.
· Demonstrate arrays.
Files and Program Maintenance
· Explain file structure
· Define file types.
· Explain opening files.
· Explain reading from and writing to files.
· Explain closing files.
· Demonstrate file access.
· Explain structured programming.
· Compare and contrast structured programming to object-oriented programming.
· Discuss program maintenance and change control management.
Text: None. This is a resource course and there is no printed text
#1 Write a C program that displays a title, "Currency Conversions," and then write the name of five currencies and their equivalents to the US dollar. The conversions are hard coded equations (or assignments). Insert comments in the program to document the program internally.
#2 Expand the “Currency Conversions” program to accept one input currency, which is error checked as a valid entry, and then display its equivalency in US dollars. For example, if you choose to convert Euro to US Dollar, user can input 30 and you’ll print something like “30 Euros = 36.87 US Dollars”.
#3 Expand the “Currency Conversions” program to have a menu that allows the user to choose which currency they wish to display in its equivalency to the US dollars. Insert comments in the program to document the program internally. Attach a version control sheet to a hard copy of the source code of the program.
· DISCUSSION: Does the division of computer software into operating systems and applications make sense for today? Does the division make sense for the future?
· RESEARCH PAPER: Software Maintenance Plan.