CIS125  Genesee Community College - Fall 2016

Click printer for PDF, printable version of this syllabus Print Syllabus

Course: Programming and Problem Solving
Instructor: James R. Habermas
Monday and Wednesday Office (D273) or T204 11:50am -12:20pm
Tuesday & Thursday Office (D273) 2:00pm-3:30pm
Thursday night (T204) 5:00pm-6:00pm
Email: I will be available for student consultation through Email.

One Required


Listserv: Click HERE to read about class discussion list.
Agenda: Link to Agenda for the semester



Develops computer skills for problem solving using Visual Basic programming software. Solves a variety of problems by developing a strategy, applying appropriate techniques, and testing results. Students should plan sufficient time to complete the necessary programming projects using the college's computing facilities.

Three Class hours. Prerequisite or Corequisite: MAT102 or higher.


At the conclusion of the course, students will be able to demonstrate each of the following skills through computer projects, or tests:

  1. The student must demonstrate, when sitting at his or her individual work station in the presence of the instructor, the ability to solve problems using a programming language approved by the full-time faculty. Flash-Action Script 2.0 (or higher) or "Visual Basic 2005 (or higher)" must be available for the student to use during class time.
  2. Demonstrate familiarity with computer hardware, operating systems, and application software as documented by unit tests covering these terms/skills.
  3. Document the process of software development by using a minimum of 3 remarks in a program, using Visual Basic language.
  4. Using a computer, apply problem-solving techniques through the use of flowcharting, program analysis charts, structure charts, interactivity charts, IPO charts, algorithms, and programming in a minimum of one in-class/at-home assignment.
  5. Write at least two programs that identify a minimum of three types of common problems.
  6. Write at least one program that differentiates between basic data types of variables and constants-character, numeric, and logical types.
  7. Write at least one program applying the rules of internal and external documentation in order to illustrate an understanding of the importance of these elements in program design.
  8. Write two modules containing cohesion, coupling, or functions.
  9. Write at least one program that contains one of the four logic structures: sequential, decision, loops, and case.
  10. Write at least one program design applying the use of parameters.
  11. Write at least one program that contains a minimum of two logic structures.
  12. Students will pass (with a grade of 70% or more) a mandatory departmental practical final exam given during the last week of the course. If a student fails this final, s/he fails the course, regardless of his or her other grades in the course. Students have one opportunity to retake the practical within one set period of time, one week to 10 days after the initial offering, as scheduled by the professor. *

    * This course objective has been identified as a student learning outcome that must be formally assessed as part of the College's Comprehensive Assessment Plan.

Content Outline:

  1. Introduction to Computer Hardware and Systems
  2. Operating Systems
  3. Flash Scripting
  4. Game Programming
  5. Introduction to Object Programming and Problem Solving
  6. Assignments, Input, Output, and Design Issues
  7. Decisions (If Statement)
  8. Classes and Objects
  9. Methods
  10. Loops
  11. Function Calls - using values returned from functions


Attendance is required for all lectures and labs. A student's final semester average will be lowered by 5 points for each class they are absent beyond 1 absence.

Coming to class late, counts the same as an absence, in a computer lab, you must be ready to take notes, and start promptly when the class begins.



2 Tests (average) - Midterm week 8 or week 9 60%
1 quiz - Week 4 10%
Homework assignments 30%
- (# of Absents * 5 points)
Student must pass department final to pass the course.

Genesis Conference:

A course area within Genesis is available for your use throughout this course.  This “conference” will be used to provide you with materials, allow you to submit work, exams, and the ability to review your grades.  You can access Genesis using your SUNY Genesee user ID and password.
All homework assignments, lecture notes, and other distributable course materials will be made available through Genesis’s course management system.  Unless otherwise indicated, all student homework assignments will be submitted via Genesis drop boxes.  You are expected to check the course conference daily.  Your instructor will use this conference to disseminate information relevant to this course.  Failing to read information posted in the course conference is not an excuse for late or incomplete work.


There will be no makeup exams or quiz!  No exceptions!!! No excuse will be acceptable. There is no time for falling behind and makeup exams.

Call your instructor to discuss any possible conflicts you might run into before the exam.  There will be no makeup exams.  See if you can make arrangements before the exam  (week before, not just a few days), to see if you can take the exam early, but nobody will be allowed to take an exam after it has been given.

Submitting Homework:

Programming assignment requirements:

Assignments must be turned in to me at the beginning of your class period on the due date. Assignments turned in after this time are considered late. Any late project will only receive a maximum of 50% for the grade and after a week or more it will be a ZERO

After 11/15/2016, all programs MUST be turned in on the due date specified. No programs will be accepted after the due date.

All incoming homework exercises and computer exercises should have a top sheet stapled to submitted work. The top sheet should contain the following information as follows:

Your name


Fall 2016

Program # 1 part A
Project 1:  Goal:  Is to compute.....(you fill in)

Date turned in: 9/8/2016

Due Date: 9/8/2016
Completed for Professor Habermas, office D273

Describe the program's goal on the cover


My goal is to not allow a student to think they can turn in projects at the end of the semester, that should have been completed earlier, and think they can pass the course.  Turning projects in on time, is a key requirement for a student to be successful in my course!

If you receive a zero on the first 3 homework assignments you might want to consider withdrawing from the course.



A minimum of at least a three hours per week working on the computer outside of class will be necessary to complete exercises.


I would appreciate hearing from anyone in this class who has a special need which may be the result of a disability. I am reasonably sure we can workout what ever arrangement is necessary, be it special seating, testing or other accommodation.  See me after class or as soon as possible.

Plagiarism and Cheating: 


SUNY Genesee does not allow any misuse of its Email system. A student should not send any homework files, test files or project files to another students. Any student caught plagiarizing work from any source (internet, email or the library or any other source) will receive a failing grade for the entire semester. 

Also, misuse of the mail system or the internet or an any files on the PC or network will result in a failing grade being given for the course.

Accessing an objectionable site (pornographic, hate speech, bomb building etc…) will result in an immediate F for the semester.

Our computer servers are for EDUCATIONAL purposes ONLY! Absolutely no web pages are allowed to be stored on our web servers that would any way generate any interest in collecting revenue, nor should any web page on our server, fake, or simulate any revenue collection. No E-Commerce activities are allowed using SUNY computer resources. Any attempt of inappropriate use of the college servers, will result in a failing grade, and possible legal actions.

Be warned, Genesee Community College is very strict in enforcing the above policies. Check out the link



Should instructor not show for class unannounced, class time will be used as lab time to work on computer exercises. Continue reading assignments and exercises as listed on agenda. If a lecture or test were scheduled on this date, it would be given the next scheduled class.


Do not use Lab Assistants as tutors to explain exercise requirements, as sometimes misinformation is given. Tutoring is available through learning lab in Center for Academic imporvement.

**An opportunity will be provided the first day of class to write special requests and to inform instructor of specific particular needs. Should special consideration be required of a student during the course, it is the student's responsibility to make an office appointment with the instructor.

Withdraw from the course:

Withdraw from the course

At any time Prior to 10/22/2016 (9th week) a student can simply go to Records and withdraw themselves from the course.  A student should really self-reflect and evaluate how they are doing in the course by Mid October.  Also, speak to the instructor outside of class to discuss if a student should withdraw or stay in the course prior to the end of October. The instructor will not withdraw the student, it is the students responsibility. No exceptions.  Watch this date!
At any time Prior to 10/22/2016





Research and LInks




Sample games we create in cis125

Join a Listserv

Email with attachments

What is a Listserv?

Set up E-mail


Introduction to Scripting i.e. Using Variables & Constants

Chapter 1 Why you want to Write Games in Flash.

Introduction to Flash ActionScript 2.0

  • Buttons
  • Static text
  • Dynamic text
  • Input text
  • Create a static text box
  • Create a Dynamic text box
  • Create an input text box


Designing Applications

Programming Concepts

Chapter 2 Cruising and Using the Flash Environment

Data Types

Variable & Variable Types

Using Data Types

Project 1Project 1 Specification


Quiz Week

Quiz 10% of final grade
Logic Structures

Chapter 4 Getting with the Program

  • Static text
  • Dynamic text
  • Input text
Sequential logic and Button programming

ActionScript 2.0 Examples

Project 1 DUE




The Selection Structure

Problem Solving with Decisions


While loops

Problems to be given out in class

Flowchart due


Problem Solving with Loops

For loops



Loops and Review

Review for Midterm

Project 2 DUE


The Repetition Structure



Midterm Week

Midterm Tuesday 10/18

While loops




Games with counters


Object oriented classes



Actions games with user arrow keys - Special Code

Tutorial to be given out



Method calls function calls




Introduction to Arrays


Final Project Introduction


Practice final exam application



12/06/2016 Tuesday

Final Exam - Multiple choice True false (objective exam)




Last week of classes

Students will pass (with a grade of 70% or more) a mandatory departmental practical final exam given during the last week of the course. If a student fails this final, s/he fails the course, regardless of his or her other grades in the course. Students have one opportunity to retake the practical within one set period of time, one week to 10 days after the initial offering, as scheduled by the professor.


*Instructor reserves the right to change this syllabus as required due to weather or class cancellations.

Discussion List for the Course

I have established an electronic discussion list called   flash    for this course. You are expected to subscribe to this list from your email account that you check everyday.


What should you do?

Subscribe to the list immediately. You are expected to follow the discussions in the list and post additional information, questions, comments, etc. To stress again, you are welcome to post messages. Please do not expect me to respond to all messages. It is also permitted to post genuine questions, seeking clarification and help in understanding the assignment questions. But, posting complete answers or trying to get someone else to complete your assignments on your behalf are not permitted. Plagiarism will be dealt with very severely.

How to subscribe?


cis125  (is the name of the list)



Instructional Support Services (view links below for additional information)

Center for Academic Progress (testing, tutoring, disabilities support service): CAP
Library: GCC Library
Computer Labs: GCC Student Computer Labs
Internet access procedures and policies: Internet Procedures
GCC Help Desk Knowledge Base: GCC Help Desk
Student Support Services (academic, financial, transfer, career services)   Student Support Services
GCC Contact Information (within GCC or community): GCC Contact Information
GCC Student Code of Conduct:  GCC Student Code of Conduct




Key Lecture Notes
Data and Data Types About data

Data refers to the numbers, strings, and other information that you can manipulate within Flash. Using data is usually essential when you create applications or websites. You also use data when you create advanced graphics and script-generated animation, and you might have to manipulate values that you use to drive your effects.

You can define data in variables within Flash, or you can load data from external files or sites using XML, web services, built-in ActionScript classes, and so on. You can store data in a database, and then represent that information in several ways in a SWF file. This can include displaying the information in text fields or components, or displaying images in movie clip instances.

Some of the most common kinds of data include strings (a sequence of characters, such as names and passages of text), numbers, objects (such as movie clips), Boolean values (true and false), and so on. In this chapter, you'll also learn about the data types in Flash and how to use them.

Variable A variable is a container that holds information. The following ActionScript shows what a variable looks like in ActionScript:
var myVariable:Number = 10; 

This variable holds a numerical value. The use of :Number in the previous code assigns the type of value that variable holds, called data typing.

The container (represented by the variable name) is always the same throughout your ActionScript, but the contents (the value) can change. You can change the value of a variable in a script as many times as you want. When you change the value of a variable while the SWF file plays, you can record and save information about what the user has done, record values that change as the SWF file plays, or evaluate whether a condition is true or false. You might need the variable to continually update while the SWF file plays, such as when a player's score changes in a Flash game. Variables are essential when you create and handle user interaction in a SWF file.

It's a good idea to assign a value to a variable the first time you declare the variable. Assigning an initial value is called initializing the variable, and it's often done on Frame 1 of the Timeline or from within a class that loads when the SWF file begins to play.