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.
.
|