CIS 189 Exploring Computer Science - Web Design Unit

Blackboard Course: CIS189
Time and Place: 11:00 am - 11:50 am Tuesday/Thursday
Classroom: Technology Building 244
Office Hours: To be arranged
Instructor: James R. Gerland, Sr.
Email: (The best way to reach me)
US Mail Drop:
  Buffalo State College
  224 Technology Building
  Buffalo, NY 14222


In this unit students will learn about how to use HTML5, CSS, and JavaScript to develop interactive web pages. Students will use Notepad++ to create and maintain their Buffalo State person web site.

The course will be conducted in a Hybrid format with an applied group-oriented undergraduate research approach.

Online course time will utilize our BlackboardLearn course management web site for access to reading material, assignments and projects. E-Mail and face-to-face group meetings will be utilized as a means to address assignment based discussion.


Upon successful completion of this course, students are expected to:

  • be able to design websites and create interactive web pages using HTML5, CSS, and JavaScript.
  • understand the client server environment of the web.

Lectures will consist of presentation of new material, demonstrations, reviews of assignments, and discussions of current readings and assignments. Labs will consist of completing hands-on assignments.

The course will be conducted may a Hybrid format with an applied group-oriented undergraduate research approach. E-Mail, BlackboardLearn, and face-to-face in-class group meetings will be utilized as a means to address project based discussion.

Platform: Windows with Notepad++. Students may install software on their personal computers. The necessary software will be available in our classroom lab.

Class Schedule

Note: All assignments/exercises are due by Midnight (morning) of the day they are listed as being due!

Date Textbook Reading Chapter Assignments
Feb 12 A General Introduction to Web Design Introduction
Feb 15 President's Day - No Class
Feb 17 Create Your Home Page Using NotePad++ Creating Yur First Web Page Home Page
Feb 19 Create a Table Page Create a Table Page Table Page
Feb 22 Add CSS Styles To Your Table Page Adding Cascading Style Sheets to Your Web Page Styled Table Page
Feb 24 Create CSS Styled Form Page Create a Web Form Styled Form Page
Feb 26 Add JavaScript To Your Web Site Creating a JavaScript Web Page JavaScript Table Page
Feb 29 Add JavaScript Validation To Your Form Page Adding JavaScript Validation to Your Web Form Page JavaScript Form Validation


Students will be graded on:

  • A Brief Introduction worth three (3) points.
  • Nineteen (19) exercises worth three (3) points each.
  • Four (4) assignments worth ten (10) points each.
  • One Extra Credit assignment worth five (5) points.
  • In-class and Discussion Forums participation, 0-5 points extra credit

Final grades will be based on total points (105 available).
The final letter grades be based on the following table:

Grade Range   Grade Range
A 100 - 95 C+ 79 - 77
A- 94 - 90 C 76 - 74
B+ 89 - 87 C- 73 - 70
B 86 - 84 D 69 - 60
B- 83 - 80 F 59 - 0


Introduction to HTML5, CSS, and JavaScript
Author: Jim Gerland
Book is available free in the Content Area of our BlackboardLearn site.


Introduction | Box | Course | Button | File I/O | Database

Brief Introduction (1 Point)

For this assignment you will login to your Blackboard Learn account and post a brief (75-100 words) introduction about yourself to the Brief Introduction Discussion forum for this course. Use the Add New Thread button and make the Subject line your name. Also, include any relevant course(s) you've taken that might help you in this course. This will give me a better idea of where each of us are in our understanding and experience with electronic commerce concepts and design. Please include a photo of yourself so we can get to know each other.

Back to Assignments

Create a Box Class (10 Points)

For this assignment you will create a Java class named Box that models a heavy "Box" with the following characteristics:

  1. The class has four private integer instance variables L1, W1, H1, Weight to store the Length, Width, Height, and Weight of the Box. Measurements are in feet and pounds.
  2. This class has two constructors:
    • Constructor #1 - has no parameters and initializes the Box's instance variables to 0
    • Constructor #2 - has four integer parameters that initializes the Box object's L,W,H,Weight
  3. This class has a method calculateVolume( ) which returns the volume (formula: L1*W1*H1) of the Box object as an integer
  4. This class has a method calculateDensity( ) which returns the density of the Box (formula: weight/volume) as a double, check for divide by 0.
  5. This class contains a main( ) method which creates an instance of the Box object with L1=10, W1=5, H1=5, Weight=2600 and computes the Box's Volume and Density, then outputs the results to the user's screen.

When you have this Assignment ready for me to view and grade you should upload your .java file in the Discussion Folder for this assignment.

Back to Assignments

Create a CIS425 Class (10 Points)

For this assignment you will create a Java class named CIS425. This program can be used to manage this CIS 425 course. Your task is to extend the base Student class definition (below) and customize it for CIS 425 students. Next, you will create a new class definition which will manage all CIS 425 students in this course. So, your program will have the following classes:

  1. Student (already written for you as a base class)
  2. CIS425_Student (extends Student, you will have to write this)
  3. CIS425_Course (manages all CIS425_Student objects, you will have to write this)

Here are the methods needed for CIS425_Student:

Constructor: public CIS425_Student( String name, int num_exams )
Create an int array exams[num_exams] which will hold all exam grades for a student
Save num_exams for later error checking
public boolean addGrade( int exam, int grade )
Save a grade in the exams[ ] array at index exam
If exam is out of range, return false (Note: exams are numbered 1,2,3,....)
If OK, save the grade in exams[ ] array and return true
public int getGrade( int exam )
Return grade saved in exams[ ] array at index exam
If exam is out of range, return -1
If OK, return grade from exams[ ] array
public String getName( )
Return student name

Here are the methods needed for CIS425_Course:

Constructor, create a class of (int capacity) CIS425_Students
Use an array: roster[ ] of size capacity to hold the CIS425_Student objects
Also, save the capacity as a class variable and set an enrolled class variable to 0
public boolean addStudent( String name, int num_exams )
Creates a new CIS425_Student( name, num_exams ) object and add to the roster[ ] array
Check to see if there is space for the new student, if no room, return false
Create a new CIS425_Student object and add to the roster[ ] array, return true
public CIS425_Student findStudent( String name )
Find student with name and return object
If student cannot be found, return null
public double computeAverage( int exam )
Compute and return the course average on a specific exam ( that is, 1, 2, …) for all the students
Check for divide by 0 and other errors
main( )
Create a CIS425_Course of 30 students
Add two (2) students: Sally Smarty and Phil Phailure, each with 3 exams
Search for these two students and give them a grade of 100 and 60 respectively on exam 1
Output the average of the class on exam 1

Here is an outline of your program:

public class CIS425_Student {
    public CIS425_Student( String name, int num_exams ) { }
    public boolean addGrade( int exam, int grade ) { }
    public int getGrade( int exam ) { }
    public String getName() { }

public class CIS425_Course {
     public CIS425_Course( int capacity ) { }
     public boolean addStudent( String name, int num_exams ) { }
     public CIS425_Student findStudent( String name ) { }
     public double computeAverage( int exam ) { }
     public static void main( String[] args ) { }

---- class Student (this is given to you, so you do not need to copy it to your solution) -----

  public class Student {
     private String sname;

     // Constructor, set name of student
      public Student( String name ) {

     // return name of student
      public String getName() {
          return sname;

When you have this Assignment ready for me to view and grade you should upload your .java file in the Discussion Folder for this assignment.

Back to Assignments

Create a Button GUI Program (10 Points)

For this assignment you will create a Java program that display a GUI program with buttons similar to this:

GUI Button

This GUI is the start of a simple number entry GUI class. The program displays four Buttons and every time the user clicks on a button, the corresponding button label appears on the bottom of the GUI. As a hint, you might break up the design of the GUI into two parts: one part holds the buttons, the other holds the completed GUI. Also include a main ( ) to launch the GUI.

public class SimpleButtons implements ...... {

	SimpleButtons( ) { }  //constructor
	// event handler here
	public static void main( String args[ ] ) { } // main here

When you have this Assignment ready for me to view and grade you should upload your .java file in the Discussion Folder for this assignment.

Back to Assignments

Create a Java Program That Reads and Writes a Text File (15 Points)

For this Assignment you will use Java to:

  • Create a Class that manipulates the text file cis425_io.txt which can be downloaded from the Course Documents area of our Blackboard course and writes the cis425_ior.txt.
  • Uses a Java for loop to walk through the file and generate a table with columns for the Month Number, Month Name, and Number of Days for each month.
            | No | Month Name | Days | 
            |  1 | January    |  31  |        
            |  2 | February   |  28  |
            |  3 | March      |  31  |
            |  4 | April      |  30  |
            |  5 | May        |  31  |
            |  6 | June       |  30  |
            |  7 | July       |  31  |
            |  8 | August     |  31  |
            |  9 | September  |  30  |
            | 10 | October    |  31  |
            | 11 | November   |  30  |
            | 12 | December   |  31  |
  • Use appropriate Java comments throughout your code.

When you have this Assignment ready for me to view and grade you should upload a note in the PHP Input/Output Page Discussion Folder with the URL of your home web page so I can click on that link and open your Assignment in a new browser window (target="_new").
Back to Assignments


This is a hybrid course which will have in-class meetings for discussions and also utilize Blackboard Learn for chapter-based discussions and tests. Students are expected to login at minimum multiple times each week for course announcements, assignments, quizzes, discussions,etc.

Faculty/Instructor: I can be reached by email with questions or for guidance that are concerned with this course. You should expect that I will reply to your message within 1-2 business days. Specific course-related questions (textbook, tests, discussions, etc.) should be posted in Blackboard Learn so everyone can benefit from the questions and answers.

Students: If you have multiple email accounts, please be sure that you access (or forward) your Buffalo State email. Your Buffalo State email is the account I will use to send course-related materials.


About Cell Phones, IPhones and IStuff ("HANDS OFF POLICY")
Before entering the classroom, turn off all cell phones, SmartPhones, IStuff, and other electronic devices. These devices are disruptive and their use during a lecture is rude to the class and instructor.

  1. No electronic devices should be in your hands during class. This means no fiddling with your phones, reading/sending text messages, etc.
  2. If you are expecting an important phone call or are compelled to play with Apps, do not attend class.
  3. If you feel you have a legitimate reason to use an electronic device in the classroom, see me to obtain explicit permission.

This course utilizes BlackboardLearn to facilitate online communication between course participants. Please keep in mind the following "Rules of Netiquette" when communicating online.

  • The rules of the classroom are the same regardless of location. Remember just because you're interacting online, doesn't mean you stop having respect for your professors, and fellow classmates. You're communicating with a real person, not a computer screen.
  • Remember your audience. When communicating online it's important to remember who you're communicating with. When sending a message to a professor, please refrain from using "text speak". For example, Shakespeare never intended for you to type "2B or not 2B". Also, stay away from typing in all capital letters; it will appear as if you're shouting.
  • Avoid strong language. Language can easily be misinterpreted in an online setting. Be sure to review your work before submitting, making sure the reader won't be able to misinterpret it as strong, or offensive. Sarcasm doesn't translate well online. Your audience can't see your facial expressions, or body language. Try to be as straight forward and professional as possible.
  • Read everything, twice. Be sure to thoroughly read all course materials before beginning to work on your assignments. If you have a question, or need clarification, re-read the materials. You may have glanced over an important detail the first time. If you're still having difficulties, then e-mail your professor.
  • Review all materials before submitting. When responding to discussion board posts, be sure to read all previous postings before you post your own. This way you won't duplicate someone else's comments. Also, it's a good idea to write, and save your work in Microsoft Word first. In case of a technical issue, you have a backup copy.

Policy Regarding Absences, Attendance, Assignments, Exams, etc.

  • Class Attendance and Absences
    As many online activities will be completed throughout the semester, participation in our Blackboard Learn Discussion Forums is expected. In the case of exceptional circumstances that result in you not being able to participate in a timely manner, you must contact me prior to the start of your absence (either by email or by leaving a telephone message). Please be aware that a prolonged absence from Blackboard Learn under these circumstances does not excuse you from any required assignments.
  • Late Assignments
    All assignments are due at the designated time and due date. Late assignments will not be accepted. If there are circumstances that will preclude you from turning in assignments on the due date, it is imperative that you discuss the situation with the instructor prior to the due date.
  • Exams and Final Exam
    See grading for information about quizzes and exams in this course.
  • Disability Policy
    If you have any disability which requires reasonable accommodations to enable you to participate in this course, please contact the Disability Services Office, 120 South Wing, (716) 878-4500, and also the instructor of this course during the first week of class. DSO will provide you with information and review appropriate arrangements for reasonable accommodations. Buffalo State Disability Services Office Web Site
  • Academic Integrity
    Reference: Academic Standards Web Site

    Students who are suspected of academic dishonesty will be dealt with severely in accordance with the Department and College Policy. This may include a grade of 0 for an assignment and/or failure in a course.

  • Academic Dishonesty: Actions that compromise academic integrity include, but are not limited to the following examples:
    • Previously submitted work: submitting academically required material that has been previously submitted - in whole or in substantial part - in another course, without prior and expressed consent of the instructor.
    • Plagiarism. Copying or receiving material from any source and submitting that material as one's own, without acknowledging and citing the particular debts to the source (quotations, paraphrases, basic ideas), or in any other manner representing the work of another as one's own.
    • Cheating. Soliciting and/or receiving information from, or providing information to, another student or any other unauthorized source (including electronic sources such as cellular phones and PDAs), with the intent to deceive while completing an examination or individual assignment.
    • Falsification of academic materials. Fabricating laboratory materials, notes, reports, or any forms of computer data; forging an instructor's name or initials; resubmitting an examination or assignment for re-evaluation which has been altered without the instructor's authorization; or submitting a report, paper, materials, computer data, or examination (or any considerable part thereof) prepared by any person other than the student responsible for the assignment.
    • Misrepresentation of documents. Forgery, alteration, or misuse of any College or Official document, record, or instrument of identification.
    • Confidential academic materials. Procurement, distribution or acceptance of examinations or laboratory results without prior and expressed consent of the instructor.
    • Selling academic assignments. No person shall sell or offer for sale to any person enrolled at the Buffalo State any academic assignments, or any inappropriate assistance in the preparation, research, or writing of any assignment, which the sellers knows, or has reason to believe, is intended for submission in fulfilled of any course or academic program requirement.
    • Purchasing academic assignments. No person shall purchase an academic assignment intended for submission in fulfillment of any course or academic program requirement.