COSC175
Spring 2014

Table of Contents

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

Faculty Contact Information

Dr. Blair Taylor    
Email:   btaylor@towson.edu
Web Page:   http://pages.towson.edu/btaylor/
Office Phone:   410-704-4560
Office Hours:   TWR 11-12 (YR427)

Email is the best way to contact me. Posting and answering questions on the  Facebook Group: Taylor COSC175 Spring 2014 is encouraged. I am on campus most days. Stop by anytime, but email first, to be sure I am not in meetings.

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 will be taken each day. It is the student’s responsibility to make up missed work.
Attendance is required and necessary for successful completion of this class.
 If you must miss a class, please email me, but please contact another student to find out what you have missed.
Students should not attend classes or other university events from the onset of flu-like symptoms until at least 24 hours after the fever subsides without the use of fever reducing medications. Such absences will be considered excused absences; however, students are responsible for the material covered during the period of their absence.
Effective Spring 2013, the following attendance policy has been established for COSC175, COSC236, and COSC237:

      1.    Students are expected to come to class on time and prepared.
      2.    Attendance is recorded at every class session.
      3.    Your 3rd and each subsequent unexcused absence will lower your grade by 5%.
      4.    The equivalent of two weeks' worth of unexcused absences will result in an automatic F. No exceptions.

It is policy of the university to excuse the absences of students for the following reasons:

1.      Illness or injury when the student is unable to attend class

2.      Religious observance where the nature of the observance prevents the student from attending class

3.      Participation in university activities at the request of university authorities

4.      Compelling verifiable circumstances beyond the control of the student

Student Participation: Active participation is expected and encouraged.


Return to Table of Contents

Software Requirements

Return to Table of Contents

Required 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

Topic

Text

HW

1 Tu: 1/28
 
W: 1/29
Th:
1/30
Course Overview , Introduction, Software Security Video SDLC
Visual C++     Lab0a
Programming Languages, Programming
1
HW1

2 Tu: 2/4
 
W: 2/5
Th:
2/6
Analysis - Defining the Problem   IPO Exercises
Lab1  
 
Data  Representation, Numbering Systems     HW 1 Due
2


Data HW ***
3 Tu: 2/11
 W: 2/12
Th:
2/13
Data Types   Exercises 
sec. 001 Lab1     sec. 002 Variables Lab
 
 class cancelled - snow
3
Ops HW
4 Tu: 2/18
 W: 2/19
Th:
2/20
Operators, arithmetic & logical  Algorithms  operator exercises 
survey  Sec. 1: Variables Lab  Int Error Security Injection   Sec. 2: Ops Lab  Int Error Security Injection 
Selection  - if/else  
4

Data HW Due 2/19
5 Tu: 2/25
 W: 2/26
Th:
2/27
Selection    see video Selection 2         Ops HW Due
Sec. 1:  Ops Lab  Sec. 2:  Sel Lab 1  finish security injections
Select. exercise   Selection - switch
5 Sel Hw
6 Tu: 3/4
 W: 3/5
Th:
3/6
Review  see video Test 1 Review
Sec. 1:  Sel Lab 1  Sec 2: Sel Lab2      Sel HW Due
Test 1
6  
7 Tu: 3/11
 W: 3/12

Th:
3/13
Loops - while Loops     
Sec. 1 Sel Lab2  Sec 2: Loop1 lab 
Loops - for, while cont'd Loop exercises    
7 Loops HW
March 16-23 Spring Break
8 Tu: 3/25
 W: 3/26

Th: 3/27
Loops - do while, nested 
Sec 1:  Loop1 lab  Security Injection - Input Validation Sec 2: Loop2    Security Injection - Input Validation   
Loops
8  
9 Tu: 4/1
 W: 4/2

Th: 4/3
Files          Loops HW Due
Sec 1: Loop2    Sec 2 : File Lab   

Loops Quiz      Project Description
   
10 Tu: 4/8
 W: 4/9

Th: 4/10
Functions - void functions, parameters       
Sec 1: File Lab  Sec 2: Function Lab1  
value returning functions, pass by value, pass by reference   
14 Function HW
11 Tu: 4/15
 W: 4/16
Th:
4/17
Func Table   Func Exer1    Paramter Practice  Project Proposal Due
Function Lab2
Functions -solving a large problem Func Exer 3
Solution to First Problem   Function HW Due
9

10
 
12 Tu: 4/22
 W: 4/23
Th:
4/24
Functions Quiz
Catch up lab          
Arrays 
11

13 Tu: 4/29
 W: 4/30
Th:
5/1
Array Exercises(.doc)
Array Lab 1   
Two dimensional arrays
  Array HW

14 Tu: 5/6
 W: 5/7
Th:
5/8
Linear and Binary Search        Search Exercises      Array Quiz review 
Array 2    9:00 Security Injection 10:00 Security Injection         Array Hw Due  
Array Quiz
12  
15 Tu: 5/13 Final Project Due   Grade Calc   Review    Security Survey    
                     Final Exam: Fri. May 16 10:15 AM - 12:15 PM


Return to Table of Contents

Grading and Exam Policy

Assessment

Homework & Labs & Project  250 (25%)
Test1 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

Additional Help and Open Lab

Changes to the Syllabus

Return to Table of Contents