|10/1/2022 5:14:44 PM||
|Discipline and Nbr:
COMP SCI FUNDAMENTALS II||
Computer Science Fundamentals II
|Units||Course Hours per Week|| ||Nbr of Weeks||Course Hours Total
|Maximum||3.00||Lecture Scheduled||2.00||17.5 max.||Lecture Scheduled||35.00
|Minimum||3.00||Lab Scheduled||0||8 min.||Lab Scheduled||0
| ||Contact DHR||3.00|| ||Contact DHR||52.50
| ||Contact Total||5.00|| ||Contact Total||87.50
| ||Non-contact DHR||0|| ||Non-contact DHR Total||0
Title 5 Category:
AA Degree Applicable
00 - Two Repeats if Grade was D, F, NC, or NP
Also Listed As:
| ||Total Out of Class Hours: 70.00||Total Student Learning Hours: 157.50||
This course concludes the introduction of computer science and software engineering begun in CIS 10A. Topics include basic data structures, files, databases, artificial intelligence, theory of computation, abstract data types, arrays and pointers, recursion and inheritance. Eight to ten complete programs are written in C++. Serves as preparation for CIS 11: Data Structures & Algorithms.
Completion of CIS 10A (formerly CIS 10, BDP 10) with a grade of 'C' or better.
Eligibility for ENGL 1A or equivalent
Limits on Enrollment:
Schedule of Classes Information
Concludes the introduction of computer science and software engineering begun in CIS 10A. Includes basic data structures, files, databases, AI and computation theory, abstract data types, arrays and pointers, recursion and inheritance. Eight to ten complete programs are written in C++. Serves as preparation for CIS 11: Data Structures and Algorithms.
Prerequisites:Completion of CIS 10A (formerly CIS 10, BDP 10) with a grade of 'C' or better.
Recommended:Eligibility for ENGL 1A or equivalent
Limits on Enrollment:
Repeatability:00 - Two Repeats if Grade was D, F, NC, or NP
ARTICULATION, MAJOR, and CERTIFICATION INFORMATION
Certificate Applicable Course
Outcomes and Objectives:
Upon completion of the course, students will be able to:
|CSU GE:||Transfer Area|| ||Effective:||Inactive:
|IGETC:||Transfer Area|| ||Effective:||Inactive:
|CSU Transfer:||Transferable||Effective:||Fall 2000||Inactive:||Summer 2010
|UC Transfer:||Transferable||Effective:||Fall 2000||Inactive:||Summer 2010
1. List common data models and the structures employed in their
2. Identify appropriate secondary storage techniques for a variety of
3. Contrast flat-file, relational, and object-oriented database
4. Relate and contrast natural and artificial intelligence.
5. Write simple Turing machine programs.
6. Identify computable and non-computable problems.
7. Describe the complexities of selected problems.
8. Produce multi-file programs using an integrated development
9. Implement Abstract Data Types in C++.
10. Produce complete classes for use by client programmers.
11. Use recursion, dynamic allocation and inheritance when implementing
Topics and Scope
A. Computer Science
1. Data Organization
a. Data Structures
3) Stacks & Queues
1) Low-level access
2) Sequential & Random Access
3) Text Files
4) Indexing & Hashing
2) The Relational Model
3) Object-Oriented Databases
4) Database Integrity
2. Algorithmic Machines
a. Artificial Intelligence
1) Machine Intelligence
4) Neural Networks
5) Genetic Algorithms
b. Theory of Computation
1) An Example Minimal Language
2) Turing Machines
3) Computable & Non-computable Functions
1. Abstract Data Types
a. Interface Files
b. Implementation Files
c. Friend Functions
d. Constant Parameters
e. Operator Overloading
f. Constructors and Automatic Type Conversion
2. Arrays and Strings
a. Declaring & Referencing Arrays
b. Initializing Arrays
c. Arrays as Arguments
d. Returning Arrays
e. Arrays & Classes
f. C-Style Strings
g. The C++ Standard String Class
3. Pointers & Dynamic Memory Allocation
a. Pointer Variables
b. Arrays and Pointers
c. Pointer Arithmetic
d. Storage Classes
e. Dynamic Structures
f. Copy Constructors
h. Overloading Assignment Operators
a. Tail Recursion
c. Stack Frames
d. Recursion Elimination
e. Design Techniques
a. Derived Classes
b. Constructors & Initialization
c. Virtual Functions & Polymorphism
d. Abstract Classes
1. Maintain a reading schedule for the text(s).
2. Write programs using the C++ programming language.
3. Test and debug programs.
4. Write program documentation.
Methods of Evaluation/Basis of Grade.
Representative Textbooks and Materials:
|Writing: Assessment tools that demonstrate writing skill and/or require students to select, organize and explain ideas in writing.||Writing
10 - 20%
|Written program documentation||
|Problem solving: Assessment tools, other than exams, that demonstrate competence in computational or non-computational problem solving skills.||Problem Solving
30 - 60%
|Homework problems, Exams, LABORATORY ASSIGNMENTS||
|Skill Demonstrations: All skill-based and physical demonstrations used for assessment purposes including skill performance exams.||Skill Demonstrations
0 - 0%
|Exams: All forms of formal testing, other than skill performance exams.||Exams
30 - 60%
|Multiple choice, True/false, Matching items, Completion, Programming exercises||
|Other: Includes any assessment tools that do not logically fit into the above categories.||Other Category
0 - 0%
"Problem Solving with C++: The Object of Programming", by Walter
Savitch - Addison-Wesley Longman 1999
"Computer Science: An Overview", by J. Brookshear - Addison-Wesley