0% found this document useful (0 votes)
73 views4 pages

Semester Hours: Contact Hours: 3 Coordinator: Text: Author: Year

This document provides information on the CS 2010: Programming Fundamentals course including: - It is a 3 credit hour course that teaches problem solving, basic programming concepts, and algorithms using C++. - Topics covered include data types, control structures, functions, arrays, sorting and searching algorithms, and file input/output. - The course goals are for students to explain programming concepts, write programs to solve problems, design modular solutions, debug programs, and implement algorithms. - It addresses several computer science and software engineering student outcomes related to problem solving, designing solutions, teamwork, and applying knowledge.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views4 pages

Semester Hours: Contact Hours: 3 Coordinator: Text: Author: Year

This document provides information on the CS 2010: Programming Fundamentals course including: - It is a 3 credit hour course that teaches problem solving, basic programming concepts, and algorithms using C++. - Topics covered include data types, control structures, functions, arrays, sorting and searching algorithms, and file input/output. - The course goals are for students to explain programming concepts, write programs to solve problems, design modular solutions, debug programs, and implement algorithms. - It addresses several computer science and software engineering student outcomes related to problem solving, designing solutions, teamwork, and applying knowledge.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

CS 2010 : PROGRAMMING FUNDAMENTALS

Semester Hours: 3.0 Contact Hours: 3


Coordinator: Jadwiga A. Carlson
Text: Programming in C++ with zyBooks & zyLabs
Author: VAHID & LYSECKY
Year: 2020

SPECIFIC COURSE INFORMATION

Catalog Description:
Problem solving and algorithm development. Basic programming concepts including elementary
data types, arrays, strings, files, control structures, and functions. Searching and sorting
algorithms. Testing and debugging strategies. Prerequisite: Math placement score of 32 or MATH
1200 or MATH 99 or higher. Approved for distance education.

Course type: REQUIRED

SPECIFIC COURSE GOALS

• I can explain the fundamental concepts of procedural programming.


• I can use a high-level language to write programs to solve problems.
• I can analyze problem requirements in order to understand what type of data and processes
are involved in the system.
• I can design a solution using a modular approach and organize program code to implement
the design.
• I can debug programs and verify that the output of a program satisfies the problem
requirements.
• I can implement algorithms to search and sort an array.
• I can implement simple recursive functions.

COMPUTER SCIENCE STUDENT OUTCOMES ADDRESSED BY THIS COURSE

• CS 1 Analyze a complex computing problem and to apply principles of computing and other
relevant disciplines to identify solutions
• CS 2 Design, implement, and evaluate a computing-based solution to meet a given set of
computing requirements in the context of the program’s discipline
• CS 5 Function effectively as a member or leader of a team engaged in activities appropriate
to the program’s discipline
• CS 6 Apply computer science theory and software development fundamentals to produce
computing-based solutions

SOFTWARE ENGINEERING STUDENT OUTCOMES ADDRESSED BY THIS COURSE

• SE 5 An ability to function effectively on a team whose members together provide


leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and
meet objectives
• SE 7 An ability to acquire and apply new knowledge, as needed, using appropriate learning
strategies

LIST OF TOPICS COVERED

• Introduction and Basic Concepts (1 week = 7%)


o Computers, programs, C++ (compiler, linker, syntax/logic/run-time errors)
o Problem solving and use of abstraction
o Developing algorithms (flowcharting, pseudocode)
• Basic concepts (2 weeks = 14%)
o Primitive data types (int, char, string, double, and bool)
o Assignment statement
o Evaluating expressions (order of precedence)
o Coercion, type casting (type of polymorphism)
o Testing/debugging (step over/into/out, conditional breakpoints)
o Documentation standards (self-documenting naming conventions)

• Decision/Control structure (1.5 weeks = 11 %)


o Relational and logical operators
o Conditional clauses (if, if/else, if/else if, switch)
• Loops (2 weeks = 14%)
o Loop structures (while, do while, for)
o Sentinel value with while & do while
o Processing a list of numbers (compute average, find largest/smallest, running
total)
o Input Validation
• Introduction to text file I/O (1 week = 7%)
o Opening, processing, closing of a file, eof()
o Additional data types (ifstream, ofstream, fstream)
• Functions (2 weeks = 14%)
o Function definition, prototype, call
o Parameter passing (by value, by reference)
o Function overloading (another type of polymorphism)
• Recursion (direct/linear, 1 week = 7%)
o Students trace recursive functions
• Arrays (2 weeks = 14%)
o 1D and 2D arrays
o Arrays as parameters
• Sorting and Searching Arrays (1.5 weeks = 11%)
o Bubble sort
o Linear and binary search

COMPUTER SECURITY TOPICS

Faculty who recently offered CS 2010 have discussed and identified a list of topics related to
computer security in this course. Below is a list for instructors to incorporate. (*) indicates topics
that are mandatory.

Estimated
Textbook
Security Topic Description Class
Reference1
Hours
*Read Only Constant values (const) cannot be changed Chapter 2.16 <1
during execution.
*Validation Validating/inspecting input data to determine Chapter 4.11 1
whether it is acceptable. Bad output will be Chapter 5.3
produced from bad input.
*Integer overflow Integer overflow occurs when assigning a Chapter 3.4 <1
value that is too large (overflow) or too small
(underflow) to be held in a variable.
Variable contains value that is ‘wrapped
around’ set of possible values to negative.
*Initialization C++ local variables are not initialized by Chapter 6.11 1
default, initialize before use. Static local and
global variables are initialized by default.
1
Starting Out with C++ from Control Structures through Objects, Tony Gaddis, 9th Edition.

You might also like