Queen's School of Computing CISC-124* - Winter 2019 Title and Photo Table

CISC-124

Introduction to Computing Science II

Winter 2019


"It's not what you look at that matters, it's what you see."

- Henry David Thoreau
 

https://www.almaobservatory.org/en/images/compact-configuration/



Internal Links
Personnel

Course Information

Schedule

Assignments

Lecture Notes

Recommended Readings

Assignment Solutions & Sample Tests

Academic Integrity in CISC 124

Change Log


External_Links
External Links
Learning - Your First Job (Paper by Dr. R. Leamnson) - ESSENTIAL READING
Academic Integrity Statement from Faculty of Arts and Science






Personnel

Personnel
Instructor
Francisco de la Parra, PhD
E-mail: parra@cs.queensu.ca
Office Hours:
    Thursdays 12:30 pm - 4:30 pm
    Goodwin 621

TAs
Name
Email  
Lab Hours
Akib Anwar Hridoy
saah@queensu.ca
Monday 9:30 am - 11:30 am
Lucas Bullen
lb149@queensu.ca
Wednesday 2:30 pm - 4:30 pm
Mackenzie Furlong
mwf2@queensu.ca
Monday 2:30 pm - 4:30 pm
Cameron Raymond
cjkr@queensu.ca
Monday 2:30 pm - 4:30 pm
Sean Remedios
sr166@queensu.ca
Tuesday 8:30 am - 10:30 am
Ella Stewart
eps3@queensu.ca
Wednesday 2:30 pm - 4:30 pm
Duncan Stuart
ds172@queensu.ca
Monday 9:30 pm - 11:30 pm


Return to top



Course Information

CISC-124 Course Information
Calendar Description
Description found here.
Text
Absolute Java, Walter Savitch 6th (or 5th) Edition. (Recommended)
Syllabus
CISC124-W2019-Syllabus
Marking Scheme
Four Assignments worth 10% each : 40%
Three Lab Quizzes worth 5% each : 15%
One Final worth 45% : 45%


There are no make-up quizzes in CISC-124.  If you miss a quiz due to valid extenuating circumstances (which do not include social activities or family gatherings) I will revise your marking scheme.

You must have a passing grade (i.e. at least 50%) on the Final Exam in order to pass the course.  

Students with special needs are responsible for contacting the instructor at least a week before each quiz.  Please see the Queen's Disability Services page for students for more information.



Return to top



Schedule

Schedule_Table
Class Schedule




Tuesday 2:30 pm - 3:30 pm
Humphrey Aud
Wednesday 4:30 pm - 5:30 pm Humphrey Aud
Friday 3:30 pm - 4:30 pm Humphrey Aud

Quizzes and Assignments Schedule
Due Date Location / Submission Mode
Quiz 1
Week 4
in Jeffery 155 during lab hours
Quiz 2 Week 7
in Jeffery 155 during lab hours
Quiz 3 Week 11
in Jeffery 155 during lab hours
Assignment 1
Week 4 - January 30, 2019 - 11:00 pm
submit through onQ
Assignment 2
Week 7 - February 25, 2019 - 11:00 pm
submit through onQ
Assignment 3
Week 10 - March 28, 2019 - 11:00 pm
submit through onQ


Return to top



Assignments

CISC-124 Assignments
Due Date / Time
Assignment Instructions
Comments
Wednesday January 30, 2019, 11:00 pm
Assignment1-NHLSimulator
Marking scheme included in assignment 1 description document. Submit a single zip file through onQ
Monday February 25, 2019, 11:00 pm
Assignment2-HPOExplorer
Input files(HPO.txt and queries.txt)
Clarifications
Marking scheme included in assignment 2 description document. Submit a single zip file through onQ
Thursday March 28, 2019, 11:00 pm
Assignment3-MTOptimizer
Input files(ridership.txt and vehicle files)
Marking scheme included in assignment 3 description document. Submit a single zip file through onQ


Return to top



Lecture Notes

Lecture Notes
Source
Material
Week 1 - L1 - Jan 8
Introduction
Week 1 - L2 - Jan 9
Java introduction. JDK and program examples
Week 1 - L3 - Jan 11
Intro to classes and objects. Room scheduler example
Week 2 - L1 - Jan 15
Java API. Console input/output example
Week 2 - L2 - Jan 16
Java syntax. Arrays. Branching
Week 2 - L3 - Jan 18
More Java syntax. While Demo. Expressions. WhileDemo Java program: while loops, arrays, instance method invocation, console input/output
Week 3 - L1 - Jan 22
JavaDemo1. while and for loops. switch statement. Formatted console output
Week 3 - L2 - Jan 23
JavaDemo2. Arrays of objects. Encapsulation, accessor and mutator methods. Recursive methods
Week 3 - L3 - Jan 25
JavaDemo3. Type casting. Example class for generating unique random integers in a given range
Week 4 - L1 - Jan 29
JavaDemo4. 2D arrays. Ragged arrays. Aliasing. System properties
Week 4 - L2 - Jan 30
Exception Handling Scheme. Exception classes. Try-catch-finally statement. Throwing exceptions
Week 4 - L3 - Feb 1
Exceptions Demo. Demo on throwing and handling java-API and user-defined exceptions
Week 5 - L1 - Feb 5
Using Java API classes. Wrapper classes. Classes: Math, String and StringTokenizer. Method overloading
Week 5 - L3 - Feb 8
File I/O. Text and binary files
Week 6 - L2 - Feb 13
OO design summary. Software qualities, development approaches and modularity. Objects, classes and encapsulation
Week 6 - L3 - Feb 15
Numeric representation. Numeric systems. Memory representation of integer and real numbers
Week 7 - L1 - Feb 26
Round-off Error. Javadoc Complements: two's complement representation of signed integers. "Student" class documented for use with Javadoc
Week 7 - L2 - Feb 27
Software testing. Junit Activities, aspects and levels of software testing. Junit framework
Week 7 - L3 - Mar 1
Junit. Class hierarchies Junit testing examples for classes "ClassList" and "Student" (Eclipse project). Vehicle class hierarchy example
Week 8 - L1 - Mar 5
Class inheritance Schematic design of a Vehicle and a Person class hierarchies
Week 8 - L2 - Mar 6
Coding class inheritance Java code examples a Vehicle and a Person class hierarchies. Interfaces. Abstract classes. Enumerations
Week 8 - L3 - Mar 8
Testing class inheritance Summary on interfaces and abstract classes. Test demo of a Vehicle and a Person hierarchies
Week 9 - L1 - Mar 12
Special classes Inner and Anonymous classes. Polymorphism. Linked list example
Week 9 - L2 - Mar 13
Special class demos Inner class usage in linked list demo. Anonymous class for random number generator object demo. ArrayList introduction.
Week 9 - L3 - Mar 15
ArrayList and Generics Methods of ArrayList. Generics
Week 10 - L1 - Mar 19
Generics Demo Generics demo. Lambda expressions introduction
Week 10 - L2 - Mar 20
Lambda Expressions Demo Lambda expressions demo. GUI introduction
Week 10 - L3 - Mar 23
GUI Models GUI architectural patterns. Java GUI packages
Week 11 - L1 - Mar 26
JavaFX Introduction JavaFX tools. GUI implementation model. Basic examples
Week 11 - L2 - Mar 27
JavaFX Application Workflow Application class. Container classes. Components
Week 11 - L3 - Mar 29
JavaFX Event Handling GUI development with Scene Builder: *.fxml layout file, application class, controller class, *.css style file. JavaFXEvents example
Week 12 - L1 - Apr 2
JavaFX Events Example Example of generating and handling syncronized events in a JavaFX application
Week 12 - L2 - Apr 3
Linked Lists and Iterators Single- and double-link linked lists. Generic linked lists. Data node encapsulation. Iterator classes
Week 12 - L3 - Apr 5
Collections Collections framework. Maps framework


Return to top



Recommended Readings

Recommended Readings
Source
Comments
Learning (Your First Job)
Essential reading for all students
Computer Science For Fun Purely recreational
Atlantic - From Aristotle to Computers A bit of history

Return to top



Assignment Solutions

CISC-124 Sample Tests
Date Material
Comments
Feb 14 Assignment-1 Solution
A sample solution to assignment 1
Mar 14 Assignment-2 Solution
A sample solution to assignment 2
Apr 24 Assignment-3 Solution
A sample solution to assignment 3




Return to top



Academic Integrity in CISC 124

CISC-235 Academic Integrity Academic integrity is constituted by the five core fundamental values of honesty, trust, fairness, respect and responsibility (see www.academicintegrity.org). These values are central to the building, nurturing and sustaining of an academic community in which all members of the community will thrive. Adherence to the values expressed through academic integrity forms a foundation for the "freedom of inquiry and exchange of ideas" essential to the intellectual life of the University (see the Senate Report on Principles and Priorities).

Students are responsible for familiarizing themselves with the regulations concerning academic integrity and for ensuring that their assignments conform to the principles of academic integrity. Information on academic integrity is available in the Arts and Science Calendar (see Academic Regulation 1 on the Arts and Science website) and from the instructor of this course.

Departures from academic integrity include plagiarism, use of unauthorized materials, facilitation, forgery and falsification. Falsification includes attempting to obtain, or accepting, a grade that is not solely and completely based on the graded work as submitted. 

In CISC-124, academic integrity means that the work you hand in as your own (tests and assignments) really is your own. You may ask other people for general help in the course -- by which I mean general explanations and help with practice problems that are not being handed in. You may talk in general terms with other students about marked assignments, as in discussing strategies ("how are you handling the case where the list is empty?") or requirements ("are we supposed to print out all the data or just the average?"). You may not share code or even pseudo-code with anyone else.


CISC-124 has a zero-tolerance policy regarding departures from academic integrity.  There will be no exceptions.

Given the seriousness of these matters, actions which contravene the regulation on academic integrity carry sanctions that can range from a warning or the loss of grades on an assignment to the failure of a course to a requirement to withdraw from the university. 

Each student in CISC-124 is required to confirm that they have read this statement on academic integrity and that they understand the consequences of any departure from academic integrity.   Your assignments and tests will not be evaluated unless you complete this confirmation through onQ.


The preceding text on academic integrity is based on a document written by Prof. Margaret Lamb and is used here with her permission.




Return to top



Change Log

Change Log
Date Log Entry
2019-01-08
Website opened
2019-01-09
Posted slides lecture 1: Introduction, week 1
2019-01-13
Posted assignment 1
2019-01-13
Posted material from lectures 2 an 3, week 1
2019-01-17
Posted material from lectures 1 an 2, week 2
2019-01-19
Posted material from lecture 3, week 2
2019-01-23
Posted material from lectures 1 an 2, week 3
2019-01-25
Posted material from lecture 3, week 3
2019-01-29
Posted material from lecture 1, week 4
2019-02-01
Posted material from lecture 2, week 4
2019-02-02
Posted material from lecture 3, week 4
2019-02-03
Posted assignment 2
2019-02-06
Posted material from lecture 1, week 5
2019-02-09
Posted material from lecture 3, week 5
2019-02-13
Posted material from lecture 2, week 6
2019-02-14
Posted a sample solution to assignment 1
2019-02-16
Posted material from lecture 3, week 6
2019-03-01
Posted material from lectures 1, 2 and 3, week 7
2019-03-05
Posted assignment 3
2019-03-09
Posted material from lectures 1, 2 and 3, week 8
2019-03-14
Posted a sample solution to assignment 2
2019-03-16
Posted material from lectures 1, 2 and 3, week 9
2019-03-22
Posted material from lectures 1 , 2 and 3, week 10
2019-04-02
Posted material from lectures 1 , 2 and 3, week 11
2019-04-07
Posted material from lectures 1 , 2 and 3, week 12
2019-04-24
Posted a sample solution to assignment 3

Return to top



Copyright The material on this website is copyrighted and is for the sole use of students registered in CISC-124. The material on this website may be downloaded for a registered student’s personal use, but shall not be distributed or disseminated to anyone other than students registered in CISC-124. Failure to abide by these conditions is a breach of copyright, and may also constitute a breach of academic integrity under the University Senate’s Academic Integrity Policy Statement.