COSC175
Summer 2017

Table of Contents

Faculty Contact Information  
Course Description  
Course Objectives  
Course Prerequisites  
Course Attendance & Participation Policy  
Software Requirements
Course Materials  
Course Schedule and Assignments  
Grading and Exam Policy  
Other Policies and Procedures  

Faculty Contact Information

Dr. Cara Tang    
Email:   ctang@towson.edu or cara.tang@pcc.edu
Office Hours:   By Appointment

Email is the best way to contact me. Posting and answering questions on the Facebook Group, GenCyber SPLASH 2017, is encouraged. Virtual appointments are welcome for live interaction - email me to set up a time.

Return to Table of Contents

Course Description

This is an introductory course in structured programming logic. Students will learn to analyze problems; define data using simple data types and arrays; and create algorithmic solutions using basic control structures (sequence, selections, loops) and functions.  Successful completion of this course will satisfy the programming prerequisite for COSC236.

In this course, you will learn to systematically break down a problem into manageable parts; plan and design logical solutions; and write effective, structured, and well-documented instructions. Emphasis will be on problem-solving approaches (algorithms) and the fundamental concepts and programming techniques common to modern computer languages including variable assignment, expressions, input/output statements, loops, if-then-else and case constructs, functions, arrays, etc. While C++ will be used to build working programs, the concepts learned in this course are applicable to multiple modern programming languages.

Return to Table of Contents

Course Objectives

Upon successful completion of this course, students will be able to:

  1. Understand and apply the software development process

  2. Understand that security has to be a consideration from the point of initial design and throughout the lifecycle of a product

  3. Analyze problems and design structured solutions

  4. Understand, create, and apply simple data types and arrays

  5. Identify common coding errors such as buffer overflow and integer error that lead to insecure programs

  6. Create algorithmic solutions using basic control structures (sequence, decisions, loops) and functions

  7. Understand the importance of input validation and be able to write correct input validation code

  8. Compile, execute, and run simple programs (in C++)

  9. Understand the importance of secure and responsible programming

  10. Conduct a personal code review (focused on common coding errors) on a program component using a provided checklist

Return to Table of Contents

Course Prerequisites

None

Return to Table of Contents

Course Attendance and Participation Policy

Student Attendance is not required as this is an online class.

Student Participation: Active participation is expected and encouraged.


Return to Table of Contents

Software Requirements

Return to Table of Contents

Course Materials

An Introduction to Programming with C++ by Diane Zak,Thompson Course Technology, recommended but not required.

Return to Table of Contents

Tentative Course Schedule

Wk

Date

Topics and Content

Videos

Text

HW & Labs

0 ASAP 1. You will receive your Towson ID and activation instructions from the SPLASH team. Follow the instructions to activate your NetID.
2. Please join the GenCyber SPLASH 2017 Facebook Group.
3. Set up the software we will be using, Cloud 9, as instructed above under Software Requirements.
   
1 M: 6/12
T: 6/13
W: 6/14
R: 6/15
F: 6/16
Course Overview, Introduction, Cybersecurity First Principles
Programming Analysis - Defining the Problem
IPO Exercises
Lab 0 Due Today
SecInj: Social Networking Security Due
Introduction (7 parts)
Software Security (2 parts)
1

2
Lab0
SecInj: Soc Netwk
SecInj: SDLC

HW1
2 M: 6/19
T: 6/20
W: 6/21
R: 6/22
F: 6/23
Data Representation, Numbering Systems     HW1 and SecInj: SDLC Due
Data Types   Number Systems Exercises 
Operators, arithmetic & logical 
Data HW and Variables Lab Due
Algorithms operator exercises    Ops Lab Due
Data (11 parts)
Operators (9 parts)
3

4

Data HW
Variables Lab
Ops Lab
Ops HW
3 M: 6/26
T: 6/27
W: 6/28
R: 6/29
F: 6/30
Ops HW Due
Selection  - if/else                   Select exercise       
Selection - switch      Sel Lab1, Sel Lab2 Due
SecInj: Int Error Due
Test 1 Review      Sel HW Due  
Selection (6 parts)
Test Review (5 parts)

5

6
Sel Lab1
Sel Lab2
SecInj: Int Error

Sel HW
4 M: 7/3
T: 7/4
W: 7/5
R: 7/6
F: 7/7
Test 1       
Loops - while Loops     
Loop exercises   

Loops - for, while cont'd  
Loop Lab1 Due
Loops (12 parts)
Old Videos:
    Loops
    Loops 2

    Loops 2a

7


Loop Lab1
Loops HW
5 M: 7/10
T: 7/11
W: 7/12
R: 7/13
F: 7/14
Loops - do while, nested 
Loop Lab2 Due
Files      SecInj: Input Validation Due

Loops HW Due

Loops Quiz       Project Description
Loops (12 parts) - finish watching
Files (5 parts)


Projects
8 Loop Lab2
SecInj: Input
File Lab
6 M: 7/17
T: 7/18
W: 7/19
R: 7/20
F: 7/21
Functions - void functions, parameters       File Lab Due
Func Table    Func Exer1    Parameter Practice
Value returning functions, pass by value, pass by reference   Func Lab 1 Due
Project Proposal Due   Cybersecurity Principle: Modularity
Solving a large problem Func Ex 3 First Prob   SecInj: Data Hiding Due

Func 1
Func 2

Func 3
Func 4
9
Func Lab1
SecInj: Data Hiding

Function HW
7 M: 7/24
T: 7/25
W: 7/26
R: 7/27
F: 7/28
Function HW Due     Functions Quiz
Arrays
Array Exercises
Array Lab1 Due    
Two dimensional arrays    
Arrays 1
Arrays 2
Two Dimensional Arrays
10
11
12
Array Lab 1
Array HW
Day of Cyber HW
8 M: 7/31
T: 8/1
W: 8/2
R: 8/3
F: 8/4
Linear & Binary Search   Search Exercises   Array Quiz Review
SecInj: Buffer Overflow Due, Array HW Due  
Arrays Quiz    Day of Cyber HW Due
Final Exam Review  Post-Survey    Final Project Due
Final Exam
Search   SecInj: Buf Ovrflw
            


Return to Table of Contents

Grading and Exam Policy

Assessment

Homework & Labs & Project  250 (25%)
Test 1 200 (20%)
Three quizzes 300 (30%)
Final Exam 250 (25%)
Total 1000

 

 

Grading Scale

Grade Percentage
A 93-100+%
A- 90-92.99%
B+ 87-89.99%
B 83-86.99%
B- 80-82.99%
C+ 77-79.99%
C 70-76.99%
D+ 67-69.99%
D 60-66.99%
F Below 60

Return to Table of Contents

 Other Policies and Procedures

Special Needs - Students having special needs as defined by the Americans with Disabilities Act should:

Academic Honesty

Copyright

Withdrawals: The withdrawal date can be found at http://www.towson.edu/registrar/calendars/

Accessing Blackboard

Facebook

Department Resources

Changes to the Syllabus

Return to Table of Contents