CISC-124Introduction to Computing Science IIWinter 2019"It's not what you look at that matters, it's what you see."- Henry David Thoreau |
|
Internal Links | |
Personnel | |
Course Information | |
Schedule | |
Assignments | |
Lecture Notes | |
Recommended Readings | |
Assignment Solutions & Sample Tests | |
Academic Integrity in CISC 124 | |
Change Log | |
External Links |
Learning
- Your First Job (Paper by Dr. R. Leamnson) - ESSENTIAL READING |
Academic
Integrity
Statement from Faculty of Arts and Science |
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 |
Calendar
Description |
Description found here. | |||||||||
Text |
Absolute Java, Walter Savitch 6th (or 5th) Edition. (Recommended) | |||||||||
Syllabus |
CISC124-W2019-Syllabus |
|||||||||
Marking Scheme |
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. |
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 |
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 |
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 |
Week 9 - L3 - Mar 15 |
ArrayList |
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 |
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 |
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 |
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.
The preceding text on academic integrity is based on a document written by Prof. Margaret Lamb and is used here with her permission.
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 |