COSC175
Spring 2016

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:/tigerweb.towson.edu/btaylor/

Office Phone:

 

410-704-4560

Office Hours:

 

TWR 10-11 (YR427)

Email is the best way to contact me. Posting and answering questions on the  Facebook Group: Taylor COSC175 Spring 2016 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

Videos

Text

HW

1

Th: 1/28

Course Overview, Introduction, SDLC, Programming Languages, Programming

Intro - Part1

1

HW1

2

Tu: 2/2
 W: 2/3

Th: 2/4

Analysis - Defining the Problem   IPO Exercises
C++     Lab0a
     Lab 1
Data  Representation, Numbering Systems     
HW 1 Due

 Intro - Part2 

 IPO Charts
Data 1

2


Data HW ***

3

Tu: 2/9
 W: 2/10
Th:
2/11

Data Types   Exercises 
Variables Lab  
 Operators, arithmetic & logical           Data Hw Due

Data 2

Operators

3


Ops HW

4

Tu: 2/16
 W: 2/17
Th: 2/18

Algorithms  operator exercises 
Ops Lab     Security Injection - Integer Error
Selection  - if/else                          Ops HW Due

Ops 2

Selection 1

4

5

Tu: 2/23
 W: 2/24
Th: 2/25

Selection   Select. exercise  
Sel Lab 1  finish security injections
No class, watch Test 1 Review video  Test 1 Review

Selection 2


Test Review

5

Sel Hw

6

Tu: 3/1
 W: 3/2
Th: 3/3

Selection - switch
 Sel Lab2      Sel HW Due
Test 1

6

 

7

Tu: 3/8
 W: 3/9
Th: 3/10

Loops - while Loops     
Selection Lab 3
Loops - for, while cont'd Loop exercises    

Loops

Loops 2

7

Loops HW

March 13-20

Spring Break

 

8

Tu: 3/22
 W: 3/23
Th: 3/24

Loops - do while, nested 
Loop1 lab       Security Injection - Input validation   
Loops

Loops 2a

Loops 3

8

 

9

Tu: 3/29
 W: 3/30
Th: 3/31

Files         
Loop2  File Lab    Loops HW Due
Loops Quiz      Project Description

Files

 

 

10

Tu: 4/5
 W: 4/6
Th: 4/7

Functions - void functions, parameters       
Function Lab1  
value returning functions
, pass by value, pass by reference   

Func 1

Func 2

14

Function HW

Due 4/18

11

Tu: 4/12
 W: 4/13
Th:
4/14

Func Table   Func Exer1    Parameter Practice  Project Proposal Due
Function Lab2
Functions -solving a large problem Func Exer 3
Solution to First Problem  

Func 3

Func 4

9

10

 

12

Tu: 4/19
 W: 4/20
Th:
4/21

Functions Quiz
Catch up lab  and Extra Credit activity!!      
Arrays 



Arrays 1

11

13

Tu: 4/26
 W: 4/27
Th:
4/28

Watch the Arrays 1 video and complete pages 1-4 on Array Exercises(.doc)
Array Lab 1   
Two dimensional arrays

 

 

Arrays 2

 

Array HW

14

Tu: 5/3
 W: 5/4
Th:
5/5

Linear and Binary Search        Search Exercises      Array Quiz review 
Array 2   Security Injection - Buffer Overflow
    Array Hw Due  
Array Quiz

Projects

12

 

15

Tu: 5/10

Final Project Due   Grade Calc   Review

 

 

 

                     Final Exam: Tues. May 17 12:30 PM -2:30 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