2018-2019 Catalog 
    
    Apr 24, 2024  
2018-2019 Catalog [ARCHIVED CATALOG]

COSC 1320 - C Language


3 Credits (2 hrs. lec., 3 hrs. lab.) Introduces the fundamental concepts of structured programming in the “C” language. Topics include data types; control structures; functions, structures, arrays, pointers, pointer arithmetic, unions, and files; the mechanics of running, testing, and debugging programs; introduction to programming; and introduction to the historical and social context of computing. This course is recommended for four-year transfer students.  (1102015207) Prerequisite: ITSE 1302   
Course Outcomes
1 - Analyze and explain the behavior of simple programs involving the fundamental programming constructs.
2 - Modify and expand short programs that use standard conditional and iterative control structures and functions; choose appropriate conditional and iteration constructs for a given programming task.
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 - Apply the techniques of structured (functional) decomposition to break a program into smaller pieces.
5 - Describe the mechanics of parameter passing and demonstrate the difference between call-by-value and call-by-reference parameter passing.
6 - Discuss the importance of algorithms in the problem-solving process, identify the necessary properties of good algorithms, and create algorithms for solving simple problems.
7 - Use pseudocode or a programming language to implement, test, and debug algorithms for solving simple problems.
8 - Discuss the representation and use of primitive data types and built-in data structures.
9 - Explain the reasons for using different formats to represent numerical data.
10 - Explain basic concepts of secure programming functions.
11 - Discuss the properties of good software design.
12 - Describe the phases of program translation from source code to executable code and the files produced by these phases; explain the software life cycle and its phases, including the deliverables that are produced.
13 - Identify and describe the properties of a variable such as its associated address, value, scope, persistence, and size.
14 - Explain how abstraction mechanisms support the creation of reusable software components.