OCCC CS Courses

From

(Difference between revisions)
Jump to: navigation, search
(Discrete Math (Mth231/232 or CS250/251))
m (ACM PF Programming Fundamentals (OCCC CS161/CS162))
 
(77 intermediate revisions not shown)
Line 1: Line 1:
-
[[Category:OCCC Pages]]
 
== CS lower division transfer course descriptions ==
== CS lower division transfer course descriptions ==
-
=== ACM CS0 (CS160) ===
 
-
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.
+
=== ACM Breadth-First introductory course (OCCC CS160) ===
-
Draft outcomes: Paul Wilkins/Mitch Fry
+
'''OCCC Currently approved description:'''<br>
-
=== ACM CS1 (CS161/CS162) ===
+
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.<br> <br>
 +
[[OCCC Outcomes CS160|CS160 draft outcomes]]: Paul Wilkins/David Toddr> <br>
 +
University outcomes pages (current inventory):<br>
 +
'''OCCC CS160 (may be other numbers at some schools)'''<br>
 +
[[EOU-CS160|EOU]]<br>
 +
[[OIT-CST102|OIT]]  CST102 Introduction to Computer Systems [http://www.cset.oit.edu/degrees/CourseDescription.aspx?subj=CST_102]<br>
 +
[[OSU-CS160|OSU]]<br>
 +
PSU No CS160 equivalent course<br>
 +
[[SOU-CS160|SOU]]<br>
 +
UO No CS160 directly equivalent course, there is a university computing requirement that can be meet by several courses at UO; OCCC CS160 will transfer and meet this requirement<br>
 +
[[WOU-CS160|WOU]]<br> <br> <br>
-
[OSU CS1]
+
=== ACM PF Programming Fundamentals (OCCC CS161/CS162) ===
-
{PSU CS1]
+
Description: To be submitted<br> <br> [[OCCC Outcomes CS161-CS162|CS161-CS162 draft outcomes]]: Parham-Mocello, Warren Harrison, David Todd<br><br> University outcomes pages (current inventory):<br> '''OCCC CS161 (may be other numbers at some schools)'''<br> [[EOU-CS161|EOU]]<br> [[OIT-CST116|OIT]]<br> [[OSU-CS161|OSU]]<br> [[PSU-CS161|PSU]]<br> [[SOU-CS161|SOU]]<br> [[UO-CS161|UO]]<br> [[WOU-CS161|WOU]]<br> <br> <br> '''OCCC CS162 (may be other numbers at some schools)'''<br> [[EOU-CS162|EOU]]<br> [[OIT-CST126|OIT]]<br> [[OSU-CS162|OSU]]<br> [[PSU-CS162|PSU]]<br> [[SOU-CS162|SOU]]<br> [[UO-CS162|UO]]<br> [[WOU-CS162|WOU]]<br> <br> <br>
-
CS161
+
=== ACM (mix of topics from DS, PF, and AL) (OCCC CS260 Data Structures) ===
-
{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
+
Description: To be submitted
-
{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.
+
 +
<br> [[OCCC Outcomes CS260|CS260 draft outcomes]]: Mitch Fry, Dodi Coreson, Jay Bockelman<br> <br> University outcomes pages (current inventory):<br> '''OCCC CS260 (may be other numbers at some schools)'''<br> [[EOU-CS260|EOU]]<br> [[OIT-CST211|OIT]]<br> [[OSU-CS260|OSU]]<br> [[PSU-CS260|PSU]]<br> [[SOU-CS260|SOU]]<br> [[UofO-CS260|UO]]<br> [[WOU-CS260|WOU]]<br> <br> <br>
 +
=== ACM AR Architecture and Organization (OCCC CS271) ===
-
Draft: Colin Goble, Warren Harrison
+
Description: To be submitted
-
=== ACM CS2 Data Structures (CS260/CS261/CS163) ===
+
<br> [[OCCC Outcomes CS271|CS271 draft outcomes]]: Bob Broeg, Greg Pleva<br> <br> University outcomes pages (current inventory):<br> '''OCCC CS271 (may be other numbers at some schools)'''<br> [[EOU-CS271|EOU]]<br> [[OIT-CST131|OIT]]<br> [[OSU-CS271|OSU]]<br> [[PSU-CS271|PSU]]<br> [[SOU-CS271|SOU]]<br> [[UofO-CS271|UO]]<br> [[WOU-CS271|WOU]]<br> <br> <br>
-
 
+
-
To be drafted
+
-
 
+
-
 
+
-
[PSU CS163]
+
-
The goal of this class is to acquaint students with structures used in C++ for the storage and manipulation of data. The concept of data abstraction and the problem of building implementations of abstract data types are emphasized. Both static and dynamic implementations of major structures are presented and the advantages and disadvantages of each are discussed. Structures include lists of several types, stacks, queues, trees, binary trees, B-trees and graphs. Recursion and key transformation (hashing) are examined. Students are encouraged to examine algorithms and to make judgments about the practical and social application of these algorithm concepts to large scale programming projects; the course stresses the importance of quantitative methods in designing software.
+
-
 
+
-
Upon the successful completion of this course students will be able to:
+
-
 
+
-
    Apply data abstraction in a C++ programming problem.
+
-
    Become proficient at evaluating the benefits and drawbacks of their design in terms of memory and run time efficiency.
+
-
    Program using classes and linear linked lists, circular linked lists, doubly linked lists, binary search trees, arrays of linear linked lists.
+
-
    Select the proper sorting algorithm for a problem.
+
-
    Design solutions to problems requiring complex data structures (combinations of lists, stacks, queues, hash tables, and trees).
+
-
    Apply data abstraction.
+
-
    Apply both static and dynamic implementations of lists, stacks, queues, hash tables and trees.
+
-
    Evaluate the performance tradeoffs between binary search, 2-3, 2-3-4, red-black, B-trees, and AVL trees.
+
-
    Build and traverse data structures to manage a simple graph.
+
-
    Apply recursion and key transformations.
+
-
    Make judgments about the practical and social application of algorithm concepts as they apply to large scale programming projects.
+
-
 
+
-
 
+
-
Draft: Mitch Fry, Dodi Coreson, Jay Bockelman
+
-
 
+
-
=== ACM CS3 Computer Architecture (CS271 or CS201) ===
+
-
 
+
-
To be drafted
+
-
 
+
-
[PSU CS201/Computer Systems Programming]
+
-
The goal of this course is to introduce computer systems from a software perspective. Teach C and assembly language programming and reading skills. Teach basic systems programming skills and tools. Show how to measure and improve program performance based on an understanding of key aspects of machine architecture.
+
-
 
+
-
Upon the successful completion of this course students will be able to:
+
-
 
+
-
    Describe basic computer system organization including the operating system (processes, files, virtual memory) and the underlying hardware (CPU, registers, memory hierarchy).
+
-
    Describe the compilation system (preprocessing, assembling, compiling, and linking) and the function of object/executable files and shared libraries, as well as how basic system utilities such as debuggers and Makefiles work.
+
-
    Write C programs to illustrate basic systems programming concepts, including file I/O, system calls, memory management, exception handling and process management.
+
-
    Do arithmetic in hexadecimal, decimal, octal, and binary notation, and convert among these notations.
+
-
    Explain how data types such as integers, characters, floating point numbers, arrays, pointers, and structures are represented.
+
-
    Describe the basic instruction set architecture for the IA32 family (or similar machine), including the arithmetic/logic instructions, registers, memory model and addressing, and control instructions.
+
-
    Explain how high-level programming constructs such as loops and stack-based function calls are implemented in underlying machine code.
+
-
    Explain how exceptions, traps, and context switches occur and how they are handled at the machine level.
+
-
    Explain the performance impact of hardware features such as pipelining, and architecture principles such as memory locality.
+
-
    Use profiling and timing facilities to identify performance bottlenecks in C programs.
+
-
 
+
-
Bob Broeg, Paul Paulson
+
=== Discrete Math (Mth231/232 or CS250/251) ===
=== Discrete Math (Mth231/232 or CS250/251) ===
 +
We will not do common outcomes or description for these classes as other than PSU they are taught under Math programs. These are here for reference and discussion.
-
[PSU CS250/Discrete Structure I]
+
University outcomes pages (current inventory):<br> '''OCCC Mth231/CS250'''<br> [[EOU-MTH231|EOU]]<br> [[OIT-MTH231|OIT]]<br> [[OSU-MTH231|OSU]]<br> [[PSU-CS250|PSU]]<br> [[SOU-MTH231|SOU]]<br> [[UofO-MTH231|UO]]<br> [[WOU-MTH231|WOU]]<br> <br> <br> '''OCCC Mth232/CS251'''<br> [[EOU-MTH232|EOU]]<br> [[OIT-MTH232|OIT]]<br> [[OSU-MTH232|OSU]]<br> [[PSU-CS251|PSU]]<br> [[SOU-MTH232|SOU]]<br> [[UofO-MTH232|UO]]<br> [[WOU-MTH232|WOU]]<br> <br> <br>
-
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}
+
 +
== PSU ABET Knowledge and Skills Maps ==
 +
* [[Media:CS161-Knowledge-Skill.pdf]]
 +
* [[Media:CS162-Knowledge-Skill.pdf]]
 +
* [[Media:CS163-Knowledge-Skill.pdf]]
 +
* [[Media:CS202-Knowledge-Skill.pdf]]
-
Block transfers from math programs other than PSU/PCC
+
[[Category:OCCC_Pages]]

Current revision as of 11:26, 21 September 2019

Contents

CS lower division transfer course descriptions

ACM Breadth-First introductory course (OCCC CS160)

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

CS160 draft outcomes: Paul Wilkins/David Toddr>
University outcomes pages (current inventory):
OCCC CS160 (may be other numbers at some schools)
EOU
OIT CST102 Introduction to Computer Systems [1]
OSU
PSU No CS160 equivalent course
SOU
UO No CS160 directly equivalent course, there is a university computing requirement that can be meet by several courses at UO; OCCC CS160 will transfer and meet this requirement
WOU


ACM PF Programming Fundamentals (OCCC CS161/CS162)

Description: To be submitted

CS161-CS162 draft outcomes: Parham-Mocello, Warren Harrison, David Todd

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 (mix of topics from DS, PF, and AL) (OCCC CS260 Data Structures)

Description: To be submitted


CS260 draft outcomes: 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 AR Architecture and Organization (OCCC CS271)

Description: To be submitted


CS271 draft outcomes: Bob Broeg, Greg Pleva

University outcomes pages (current inventory):
OCCC CS271 (may be other numbers at some schools)
EOU
OIT
OSU
PSU
SOU
UO
WOU


Discrete Math (Mth231/232 or CS250/251)

We will not do common outcomes or description for these classes as other than PSU they are taught under Math programs. These are here for reference and discussion.

University outcomes pages (current inventory):
OCCC Mth231/CS250
EOU
OIT
OSU
PSU
SOU
UO
WOU


OCCC Mth232/CS251
EOU
OIT
OSU
PSU
SOU
UO
WOU


PSU ABET Knowledge and Skills Maps

Personal tools
MediaWiki Appliance - Powered by TurnKey Linux