SRJC Course Outlines

11/21/2024 12:52:18 AMCS 10C Course Outline as of Fall 2018

Changed Course
CATALOG INFORMATION

Discipline and Nbr:  CS 10CTitle:  PROGRAMMING CONCEPTS 2  
Full Title:  Programming Concepts and Methodologies 2
Last Reviewed:3/27/2023

UnitsCourse Hours per Week Nbr of WeeksCourse Hours Total
Maximum4.00Lecture Scheduled3.0017.5 max.Lecture Scheduled52.50
Minimum4.00Lab Scheduled3.006 min.Lab Scheduled52.50
 Contact DHR0 Contact DHR0
 Contact Total6.00 Contact Total105.00
 
 Non-contact DHR0 Non-contact DHR Total0

 Total Out of Class Hours:  105.00Total Student Learning Hours: 210.00 

Title 5 Category:  AA Degree Applicable
Grading:  Grade or P/NP
Repeatability:  00 - Two Repeats if Grade was D, F, NC, or NP
Also Listed As: 
Formerly:  CS 11

Catalog Description:
Untitled document
Application of software engineering techniques to the design and development of large programs; data abstraction and structures and associated algorithms.

Prerequisites/Corequisites:
Course Completion of CS 10B


Recommended Preparation:
Eligibility for ENGL 1A or equivalent

Limits on Enrollment:

Schedule of Classes Information
Description: Untitled document
Application of software engineering techniques to the design and development of large programs; data abstraction and structures and associated algorithms.
(Grade or P/NP)

Prerequisites:Course Completion of CS 10B
Recommended:Eligibility for ENGL 1A or equivalent
Limits on Enrollment:
Transfer Credit:CSU;UC.
Repeatability:00 - Two Repeats if Grade was D, F, NC, or NP

ARTICULATION, MAJOR, and CERTIFICATION INFORMATION

Associate Degree:Effective:Inactive:
 Area:
 
CSU GE:Transfer Area Effective:Inactive:
 
IGETC:Transfer Area Effective:Inactive:
 
CSU Transfer:TransferableEffective:Spring 1991Inactive:
 
UC Transfer:TransferableEffective:Spring 1991Inactive:
 
C-ID:
 CID Descriptor: COMP 132 Programming Concepts and Methodology II SRJC Equivalent Course(s): CS10C

Certificate/Major Applicable: Major Applicable Course

Approval and Dates
Version:09Course Created/Approved: 3/11/1991
Version Created:4/18/2017Course Last Modified:6/2/2024
Submitter:Dave HardenCourse Last Full Review:3/27/2023
Version Status:Approved Changed CoursePrereq Created/Approved:3/27/2023
Version Status Date:5/8/2017Semester Last Taught:Spring 2024
Version Term Effective:Fall 2018Term Inactive:Fall 2024


COURSE CONTENT

Student Learning Outcomes:
At the conclusion of this course, the student should be able to:
Untitled document
1.  Write programs in C++ that use arrays, linked lists, stacks, queues, hash tables, and recursion.
2.  Explain how object-oriented programming uses abstraction to increase reusability of software.
3.  Summarize the differences between programming paradigms.
 

Objectives: Untitled document
At the conclusion of this course, the student should be able to:
1. Write programs that use each of the following data structures: arrays, records, strings, linked
    lists, stacks, queues, and hash tables.
2. Implement, test, and debug simple recursive functions and procedures.
3. Evaluate tradeoffs in lifetime management (reference counting vs. garbage collection).
4. Explain how abstraction mechanisms support the creation of reusable software components.
5. Design, implement, test, and debug simple programs in an object-oriented programming
    language.
6. Compare and contrast object-oriented analysis and design with structured analysis and design.

Topics and Scope
Untitled document
I. Programming Fundamentals
    A. Primitive types
    B. Arrays
    C. Records
    D. Strings and string processing
     E. Data representation in memory
     F. Static, stack, and heap allocation
     G. Runtime storage management
     H. Pointers and references
     I. Linked structures
     J. Implementation strategies for stacks, queues, and hash tables
     K. Implementation strategies for trees
     L. Strategies for choosing the right data structure
II. Recursion  
     A. The concept of recursion
     B. Recursive mathematical functions
    C. Simple recursive procedures
     D. Divide-and-conquer strategies
    E. Recursive backtracking
     F. Implementation of recursion
III. Declarations and Types
     A. The conception of types as a set of values together with a set of operations
     B. Declaration models (binding, visibility, scope, and lifetime)
     C. Overview of type-checking
     D. Garbage collection
IV. Abstraction Mechanisms
     A. Procedures, functions, and iterators as abstraction mechanisms
     B. Parameterization mechanisms (reference vs. value)
     C. Activation records and storage management
     D. Type parameters and parameterized types - templates or generics
     E. Modules in programming languages
V. Object-Oriented Programming
     A. Object-oriented design
     B. Encapsulation and information-hiding
     C. Separation of behavior and implementation
     D. Classes and subclasses
     E. Inheritance (overriding, dynamic dispatch)
     F. Polymorphism (subtype polymorphism vs. inheritance)
     G. Class hierarchies
     H. Collection classes and iteration protocols
     I. Internal representations of objects and method tables
VI. Software Design
     A. Fundamental design concepts and principles
     B. Design strategy
 
All topics are covered in both the lecture and lab parts of the course.

Assignments:
Untitled document
Lecture Related Assignments:
1. Read approximately 30 pages per week
2. Complete 2-8 examinations including final exam
 
Lab Related Assignments:
1. Complete 10-15 programming assignments,with documentation, using the C++ programming
    language

Methods of Evaluation/Basis of Grade.
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
20 - 60%
Programming assignments
Skill Demonstrations: All skill-based and physical demonstrations used for assessment purposes including skill performance exams.Skill Demonstrations
0 - 0%
None
Exams: All forms of formal testing, other than skill performance exams.Exams
20 - 60%
Exams, Final Exam: (Multiple choice, true/false, matching items, completion, programming problems)
Other: Includes any assessment tools that do not logically fit into the above categories.Other Category
0 - 0%
None


Representative Textbooks and Materials:
Untitled document
Starting Out with C++ From Control Structures through Objects. 8th ed. Gaddis, Tony. Pearson. 2014

OTHER REQUIRED ELEMENTS

Student Preparation
 Matric Assessment Required:ERequires English Assessment
 Prerequisites-generate description:AAuto-Generated Text
 Advisories-generate description:AAuto-Generated Text
 Prereq-provisional:NNO
 Prereq/coreq-registration check:YPrerequisite Rules Exist
 Requires instructor signature:NInstructor's Signature Not Required
   
BASIC INFORMATION, HOURS/UNITS & REPEATABILITY
 Method of instruction:02Lecture
 04Laboratory
 71Internet-Based, Simultaneous Interaction
 72Internet-Based, Delayed Interaction
 Area department:CSComputer Studies
 Division:72Arts & Humanities
 Special topic course:NNot a Special Topic Course
 Program Status:1Major Applicable Course
 Repeatability:00Two Repeats if Grade was D, F, NC, or NP
 Repeat group id:  
   
SCHEDULING
 Audit allowed:YAuditable
 Open entry/exit:NNot Open Entry/Open Exit
 Credit by Exam:NCredit by examination not allowed
 Budget code: Program:0000Unrestricted
 Budget code: Activity:0701Computer & Information Science
   
OTHER CODES
Disciplines:Computer Science
 Basic Skills:NNot a Basic Skills Course
 Level below transfer:YNot Applicable
 CVU/CVC status:YDistance Ed, Not CVU/CVC Developed
 Distance Ed Approved:YExclusively online or other technology based instruction
 Emergency Distance Ed Approved:N
 Credit for Prior Learning:NAgency Exam
NCBE
NIndustry Credentials
NPortfolio
 Non-credit category:YNot Applicable, Credit Course
 Classification:YLiberal Arts and Sciences Courses
 SAM classification:ENon-Occupational
 TOP code:0706.00Computer Science (Transfer)
 Work-based learning:NDoes Not Include Work-Based Learning
 DSPS course:NNO
 In-service:NNot an in-Service Course
 Lab Tier:23Credit Lab - Tier 3

Print PDF