OCCC CS Courses
From
Contents |
CS lower division transfer course descriptions
ACM Breadth-First course (OCCC CS160)
Currently approved description:
Explores the disciplines and professions of Computer Science and Software Engineering. Overviews computer hardware and software architecture, the study of algorithms, software design and development, data representation and organization, problem-solving strategies, ethics in the digital world, and the history of computing and its influences on society. Explores career options and begins the process of planning a program of study. Exposes students to both low-level and high-level programming languages.
Draft outcomes: Paul Wilkins/Mitch Fry
University outcomes pages (current inventory):
EOU
OIT No CS160 equivalent course
OSU
PSU No CS160 equivalent course
SOU
UofO No CS160 equivalent course
WOU
ACM Programming Fundimentals (CS161/CS162)
CS161 {I need to convert these to outcomes} The goals of this class are to introduce students to the fundamental concepts of computing. Problem solving, the design of algorithms for solutions, and the translation of tested algorithms into the grammar of a high-level computer language are emphasized. Students are encouraged to develop a consistent programming style and a systematic method of internal program documentation.
CS162 {I need to convert these to outcomes} The goals of this class are to teach the syntax of a high level programming language to students who already know what programs are. This course will introduce the syntax of C++ including: data types, variables, conditionals, loops, functions, and arrays. It will introduce new constructs such as classes, pointers, dynamic memory, linear linked lists, recursion, and multi-dimensional arrays to prepare students for CS163, Data Structures. To learn and use advanced concepts provided by a modern structured computer language, such as data abstraction, separate compilation and the use of library procedures.
Draft: Colin Goble, Warren Harrison
University outcomes pages (current inventory):
OCCC CS161 (may be other numbers at some schools)
EOU
OIT
OSU
PSU
SOU
UO
WOU
OCCC CS162 (may be other numbers at some schools)
EOU
OIT
OSU
PSU
SOU
UO
WOU
ACM CS2 Data Structures (CS260/CS261/CS163)
Description: To be submitted
Draft: Mitch Fry, Dodi Coreson, Jay Bockelman
University outcomes pages (current inventory):
OCCC CS260 (may be other numbers at some schools)
EOU
OIT
OSU
PSU
SOU
UO
WOU
ACM CS3 Computer Architecture (CS271 or CS201)
To be drafted
Bob Broeg, Paul Paulson
University outcomes pages (current inventory):
OCCC CS260 (may be other numbers at some schools)
EOU
OIT
OSU
PSU
SOU
UO
WOU
Discrete Math (Mth231/232 or CS250/251)
[PSU CS250/Discrete Structure I] CS 250 is the first term of the two term sequence CS 250-251. The main goal of the sequence is that students obtain those skills in discrete mathematics and logic that are used in the study and practice of computer science.
Upon the successful completion of this course students will be able to:
- Describe basic properties of sets, bags, tuples, relations, graphs, trees, and functions.
- Perform traversals of graphs and trees; construct simple functions by composition of known functions; determine whether simple functions are injective, surjective, or bijective; and classify simple functions by rate of growth.
- Describe the concepts of countable and uncountable sets, and apply the diagonalization method to construct elements that are not in certain countable sets.
- Construct inductive definitions for sets, construct grammars for languages (sets of strings), and construct recursive definitions for functions and procedures.
- Determine whether a binary relation is reflexive, symmetric, or transitive and construct closures with respect to these properties.
- Construct a topological sort of a partially ordered set and determine whether a partially ordered set is well-founded.
- Use elementary counting techniques to count simple finite structures that are either ordered or unordered, to count the worst case number of comparisons and, with discrete probability, to count the average number of comparisons for simple decision trees.
- Find closed form solutions for simple recurrences using the techniques of substitution, cancellation, and generating functions.
- Demonstrate standard proof techniques and the technique of inductive proof by writing short informal proofs about simple properties of numbers, sets, and ordered structures.
[PSU CS251/Discrete Structures II] CS 251 is the second term of the two term sequence CS 250-251. The main goal of the sequence is that students obtain those skills in discrete mathematics and logic that are used in the study and practice of computer science.
Upon the successful completion of this course students will be able to:
- Apply the properties of propositional calculus to: determine whether a wff is a tautology, a contradiction, or a contingency by truth tables and by Quine's method; construct equivalence proofs; and transform truth functions and wffs into conjunctive or disjunctive normal form.
- Describe the basic inference rules and use them to write formal proofs in propositional calculus.
- Apply the properties of first-order predicate calculus to: determine whether a wff is valid, invalid, satisfiable, or unsatisfiable; construct equivalence proofs; and transform first-order wffs into prenex conjunctive or disjunctive normal form.
- Describe the rules of inference for quantifiers and use them along with the basic inference rules to write formal proofs in first-order predicate calculus.
- Write formal proofs in first-order predicate calculus with equality.
- Construct partial correctness proofs of simple imperative programs and construct termination proofs for simple loops.
- Transform first-order wffs into clausal form; and unify atoms from a set of clauses.
- Describe the resolution inference rule; use it to write formal proofs in first-order logic; and describe how resolution is used to execute a logic program.
- Transform simple English sentences into formal logic (propositional, first-order, or higher-order).
- Apply appropriate algebraic properties to: simplify Boolean expressions; simplify regular expressions; write recursive definitions for simple functions in terms of operations for abstract data types; write expressions to represent relations constructed in terms of operations for relational databases; and work with congruences.
{NOTE: everyone seems to agree that there is way too much stuff in these two classes}
Block transfers from math programs other than PSU/PCC