Course Description:
An investigation into the structure and syntax of current programming languages, including binding, scoping, data types, transfer-of-control structures, subprograms, abstract data types, object-oriented programming, and functional programming. Formerly CSCI 150.
Course Objectives:
Create awareness of imperative language structures that are used to represent programming language data at compile time and at execution time.
Create awareness of static (compile-time) and dynamic (run-time) program features.
Investigate programming language paradigms outside the imperative model such as functional, logic, and object-oriented languages.
Course Outcomes:
Students will:
Store typical imperative code components as descriptors in hashed compile-time symbol tables.
Store typical run-time imperative code components in a data areas consisting of static memory, run-time activation records, and heap storage.
Link run-time activation records together using static and dynamic links and displays.
Pass parameters using call by value, call by reference, call by value result, call by result, and call by name.
Become familiar with activities associated with subprogram invocation and subprogram return.
Create basic functional programs using LISP and Scheme.
Create basic object-oriented programs using C++, Java, and Smalltalk.
Relationship with Program Objectives:
Problem Analysis and Solution Design: Significant
Oral and Written Communication: Some
Social and Ethical Issues: Minimal
Applicability to Future Endeavors: Significant
Relationship with Program Outcomes:
Outcome A: An ability to apply knowledge of math, science, and engineering.
Outcome E: An ability to identify, formulate, and solve computing problems.
Outcome F: An understanding of professional and ethical responsibilities.
Outcome H: The broad education necessary to understand the impact of computing solutions in a global and societal context.
Outcome K: An ability to use the techniques, skills, and modern computing tools necessary for computing practice.
College of Engineering, Computer
Science, & Construction Management
California State University, Chico
Chico, CA 95929-0003
530-898-5963 webmaster@ecst.csuchico.edu