Academic Affairs

Programming Concepts and Methodology I - TCSU CSCI 110

Description

Introduces the discipline of computer science using a high level language; provides an overview of computer organization and an introduction to software engineering.

Prerequisites

Pre-Calculus

Minimum Unit Requirements

3 semester units

Course Topics

I. Programming Fundamentals (PF)

PF1. Fundamental programming constructs: Minimum coverage time: 9 hours

Topics
1. Basic syntax and semantics of a higher-level language
2. Variables, types, expressions, and assignment
3. Simple I/O
4. Conditional and iterative control structures
5. Functions and parameter passing
6. Structured decomposition

Learning Outcomes
1. Analyze and explain the behavior of simple programs involving the fundamental programming constructs covered by this unit;
2. Modify and expand short programs that use standard conditional and iterative control structures and functions;
3. Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions;
4. Choose appropriate conditional and iteration constructs for a given programming task;
5. Apply the techniques of structured (functional) decomposition to break a program into smaller pieces; and
6. Describe the mechanics of parameter passing.

PF2. Algorithms and problem-solving: Minimum coverage time: 6 hours

Topics
1. Problem-solving strategies
2. The role of algorithms in the problem-solving process
3. Implementation strategies for algorithms
4. Debugging strategies
5. The concept and properties of algorithms

Learning Outcomes
1. Discuss the importance of algorithms in the problem-solving process;
2. Identify the necessary properties of good algorithms;
3. Create algorithms for solving simple problems;
4. Use pseudocode or a programming language to implement, test, and debug algorithms for solving simple problems; and
5. Describe strategies that are useful in debugging.

II. Programming Languages (PL)

PL1. Overview of programming languages: Minimum coverage time: 2 hours

Topics
1. History of programming languages
2. Brief survey of programming paradigms
3. Procedural languages
4. Object-oriented languages

Learning Outcomes
1. Summarize the evolution of programming languages illustrating how this history has led to the paradigms available today; and
2. Identify at least one distinguishing characteristic for each of the programming paradigms covered in this unit.

PL4. Declarations and types: Minimum coverage time: 3 hours

Topics
1. The conception of types as a set of values together with a set of operations Declaration models (binding, visibility, scope, and lifetime)
2. Overview of type-checking

Learning Outcomes
1. Explain the value of declaration models, especially with respect to programming-in-the-large;
2. Identify and describe the properties of a variable such as its associated address, value, scope, persistence, and size;
3. Discuss type incompatibility;
4. Demonstrate different forms of binding, visibility, scoping, and lifetime management; and
5. Defend the importance of types and type-checking in providing abstraction and safety.

AR3. Assembly level machine organization: Minimum coverage time: 2 hours

Topics
1. Basic organization of the von Neumann machine

Learning Outcomes
2. Explain the organization of the classical von Neumann machine and its major functional units;
3. Explain how an instruction is executed in a classical von Neumann machine;
4. Summarize how instructions are represented at both the machine level and in the context of a symbolic assembler; and
5. Demonstrate how fundamental high-level programming constructs are implemented at the machine-language level.

CAN Equivalent

CAN CSCI 22 (Equivalency ends Fall 2009)

Descriptor PDF

Courses Approved (Coming Soon)

Back

Documents contained on this page require Adobe Reader to view. If you do not have the Adobe Reader, you can download it free from the Adobe site.

.


Content Contact:
Karen Simpson-Alisca
(562) 951-4715
Technical Contact:
webmaster@calstate.edu
Last Update: August 11, 2009