Dr. Cara Tang | ||
Email: | ctang@towson.edu | |
Office Hours: | By Appointment |
Email is the best way to contact me. Posting and answering questions on the Facebook Group, GenCyber SPLASH 2016, is encouraged. Virtual appointments are welcome for live interaction - email me to set up a time.
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.
Upon successful completion of this course, students will be able to:
Understand and apply the software development process.
Understand that security has to be a consideration from the point of initial design and throughout the lifecycle of a product
Analyze problems and design structured solutions
Understand, create, and apply simple data types and arrays.
Identify common coding errors such as buffer overflow and integer error that lead to insecure programs
Create algorithmic solutions using basic control structures (sequence, decisions, loops) and functions.
Understand the importance of input validation and be able to write correct input validation code
Compile, execute, and run simple programs (in C++)
Understand the importance of secure and responsible programming.
Conduct a personal code review (focused on common coding errors) on a program component using a provided checklist
None
Student Attendance is not required as this is an online class. |
Student Participation: Active participation is expected and encouraged.
An Introduction to Programming with C++ by Diane Zak,Thompson Course Technology, recommended but not required.
Wk |
Date |
Topics and Content |
Videos |
Text |
HW & Labs |
0 | ASAP |
1. You will receive your Towson ID and activation instructions from Dr. Blair Taylor.
Follow the instructions to activate your NetID. 2. Please join the GenCyber SPLASH 2016 Facebook Group. 3. Set up the software we will be using, Cloud 9, as instructed above under Software Requirements. |
|||
1 |
M: 6/20 T: 6/21 W: 6/22 R: 6/23 F: 6/24 |
Course Overview,
Introduction,
Cybersecurity First Principles Cloud 9 instructions Programming Analysis - Defining the Problem IPO Exercises Lab 0 due today! |
Intro Part 1 Intro Part 2 Software Security 1 Software Security 2 |
1 2 |
Lab0 Lab1 HW1 |
2 |
M: 6/27 T: 6/28 W: 6/29 R: 6/30 F: 7/1 |
Data Representation,
Numbering Systems
HW1 and Lab1 Due Today
Data Types Number Systems Exercises Operators, arithmetic & logical Data HW and Variables Lab Due Algorithms operator exercises Ops Lab Due |
Data 1 Data 2 Operators |
3 4 |
Data
HW Variables Lab Ops Lab Ops HW |
3 |
M: 7/4 T: 7/5 W: 7/6 R: 7/7 F: 7/8 |
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 1 Selection 2 Selection 3 Test Review |
5 6 |
SecInj: Int Error
Sel Lab1 Sel Lab2 Sel HW |
4 |
M: 7/11 T: 7/12 W: 7/13 R: 7/14 F: 7/15 |
Test 1
Loops - while Loops Loop exercises Loops - for, while cont'd Loop Lab1 Due |
Loops Loops 2 Loops 2a |
7 |
Loop Lab1
Loops HW |
|
M: 7/18 T: 7/19 W: 7/20 R: 7/21 F: 7/22 |
Loops - do while, nested
Loop Lab2 Due Files SecInj: Input Validation Due Loops HW Due Loops Quiz Project Description |
Loops 3 Files Projects |
8 |
Loop Lab2
SecInj: Input File Lab |
6 |
M: 7/25 T: 7/26 W: 7/27 R: 7/28 F: 7/29 |
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 Solving a large problem Func Exer 3 Solution to First Prob Func Lab 2 Due |
Func 1 Func 2 Func 3 Func 4 |
9 |
Func Lab1
Func Lab2 Function HW |
7 |
M: 8/1 T: 8/2 W: 8/3 R: 8/4 F: 8/5 |
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 Lab 2 Array HW Day of Cyber HW |
8 |
M: 8/8 T: 8/9 W: 8/10 R: 8/11 F: 8/12 |
Linear & Binary Search
Search Exercises
Array Quiz Review
Array Lab2 Due
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 | |
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 |
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
Department Resources
Changes to the Syllabus