| Extended Course Description: | Catalog Course Description:
Provides students with fundamental concepts for designing, coding, testing, and deploying computer software. Introduces programming concepts and activities by demonstration, example, and exercise.
Pre-requisites and Co-requisites:
High school algebra
Familiarity with basic concepts for using a personal computer
Curriculum Role:
Introduces the programming process through learning a programming language (currently Python)
Course Rationale:
Provides an introductory background in computer software design, programming, testing, and maintenance.
Course Outcomes:
Upon successful completion of this course, a student will be able to:
Describe the concept of an algorithm and provide several examples.
Explain and contrast the basic operations of a compiler, and an interpreter.
Contrast machine language, assembler, procedural, and object-oriented computer languages.
Demonstrate an understanding of the syntax and semantics of a high-level computer language by designing, coding, documenting and testing a computer program to solve a specified problem.
Describe and demonstrate an understanding of data types, declarations, blocks, variables, scope, control structures, and operator precedence.
Explain and apply a few simple techniques for identifying and removing defects in computer programs
Discuss some of the general problems that arise in the development of complex software systems
Contribution to Program Educational Outcomes:
This course contributes to the program educational outcomes as follows:
Outcome Contribution
(a) Students design, implement, and examine programs
(b) Students design and implement computer programs.
(c) Introductory program design & implementation
(d), (f) Programming projects are done in pairs or small teams
helping students practice working together and
communicating about problems
Course Content:
Principal topics and the approximate number of weeks devoted to each are:
Computer Language fundamentals algorithms, compilers, interpreters (1)
Computer Program design fundamentals (1)
Learning to program in a high-level programming language (currently Python). (6)
Basic coding skills
Working with numbers and strings
Working with data types, variables, and scope.
Simple console input and output
Working with Control Statements
User Interface development
File and database I/O
Program Testing (1)
Program Maintenance (1)
Presentation:
Note: Presentation method may vary somewhat from section to section.
Course material will be presented through lecture, class exercises, and labs. Students will be given programming and other assignments to enable them to gain proficiency in the concepts and practice of software development.
Assessment:
Note: Assessment method may vary somewhat from section to section.
A mid-term and a final examination will be given.
|