CISC-124Introduction to Computing Science IISection 2 - Winter 2018"Logic will take you from A to B. Imagination will take you everywhere."- Albert Einstein |
![]() |
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 |
Dr. Francisco de la Parra |
![]() |
Goodwin 734 |
||
parra@cs.queensu.ca |
||
Office Hours: Monday 2:00 pm - 4:00 pm Thursday 10:00 am - 12:00 pm |
||
TAs |
Name |
Email |
Lab
Hours |
Congwei Chen |
14cc66@queensu.ca |
Monday 2:30 pm - 4:30 pm |
|
Taher Ghaleb |
taher.ghaleb@queensu.ca |
Tuesday 6:30 pm - 8:30 pm |
|
Hillary Elrick |
14he@queensu.ca |
Wednesday 11:30 am - 1:30 pm |
|
Julia Yach |
13jmty@queensu.ca |
Thursday 6:30 pm - 8:30 pm |
|
Sean Nesdoly |
13sn50@queensu.ca |
Friday 2:30 pm - 4:30 pm |
|
Calendar
Description |
Introduction to object-oriented design, architecture, and programming. Use of packages, class libraries, and interfaces. Encapsulation and representational abstraction. Inheritance. Polymorphic programming. Exception handling. Iterators. Introduction to a class design notation. Applications in various areas. | |||||||||
Text |
Absolute Java, Walter Savitch (5th or 6th Edition). | |||||||||
Syllabus |
Course Outline |
|||||||||
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 |
Monday 11:30 am - 12:20 pm |
Miller 105 |
Tuesday 1:30 pm - 2:20 pm | Miller 105 | |
Thursday 12:30 pm - 1:20 pm | Miller 105 | |
Assignment
and Quiz Schedule
|
Due Date | Location |
Quiz 1 |
Week 4 |
in the lab |
Quiz 2 | Week 7 |
in the lab |
Quiz 3 | Week 11 |
in the lab |
Assignment 1 |
Week 4 - January 30, 2018 - 1:30 pm |
submit through onQ |
Assignment 2 |
Week 7 - March 3, 2018 - 11:00 pm |
submit through onQ |
Assignment 3 |
Week 12 - April 1, 2018 - 11:00 pm |
submit through onQ |
Due
Date |
Assignment
Instructions |
Comments | |
January 30, 2018. 1:30 pm |
Assignment1-GradeCalculator Clarifications |
Marking scheme stated in assignment 1 document |
|
March 2, 2018. 11:00 pm |
Assignment2-SongClassifier |
Marking scheme stated in assignment 2 document. Input files provided |
|
April 1, 2018. 11:00 pm |
Assignment3-SmartDispatcher |
Input files provided |
|
Source |
Material |
Lecture 1 - Jan 8 |
Introduction |
Lecture 2 - Jan 9 |
Intro classes example |
Lecture 3 - Jan 11 |
Class list example |
Lecture 4 - Jan 15 |
JavaDemo class (Version 1.0). Console I/O, conditional branching. |
Lecture 5 - Jan 16 |
JavaDemo class (Version 1.1). Conditional branching, while loops, for loops, arrays of primitive types. |
Lecture 6 - Jan 18 |
JavaDemo class (Version 1.2). For loops, arrays of class types, generation of random numbers, pause and continue scheme. |
Lecture 7 - Jan 22 |
JavaDemo class (Version 1.3). Functional decomposition, looping on choices. |
Lecture 8 - Jan 23 |
JavaDemo2 class (Version 1.0). Conditional looping, switch selection, break and continue statements |
Lecture 9 - Jan 25 |
JavaDemo2 class (Version 1.1). Casting, boolean expressions, passing arrays to methods, manipulating strings |
Lecture 11 - Jan 30 |
JavaDemo3 class (Version 1.0). 2D arrays, Jagged arrays, wrapper classes, Math class, String class, static versus instance methods |
Lecture 12 - Feb 1 |
JavaDemo3 class (Version 1.1). StringTokenizer class, method overloading, throwing exceptions and try/catch block |
Lecture 13 - Feb 5 |
Objects and Encapsulation |
Lecture 14 - Feb 6 |
JavaDemo4 class (Version 1.0). File I/O (output to a text file). I/O exceptions |
Lecture 15 - Feb 8 |
JavaDemo4 class (Version 1.1). File I/O (input from a text file). More exceptions |
Lecture 16 - Feb 12 |
JavaDemo4 class (Version 1.2). File I/O (output to a binary file). Related exceptions. Object serialization |
Lecture 17 - Feb 13 |
JavaDemo4 class (Version 1.3). File I/O (input from a binary file). Related exceptions. Object deserialization |
Lecture 18 - Feb 15 |
javadoc demo. Generation of documentation for Student class |
Lecture 19 - Feb 26 |
Software testing. Aspects and levels of testing. Introduction to the JUnit framework |
Lecture 20 - Feb 27 |
JUnit 5 example. JUnit 5 StudentTest class. Classes under test: Student, Mark |
Lecture 21 - Mar 1 |
Vehicle class hierarchy. Inheritance and hierarchies of classes |
Lecture 22 - Mar 5 |
Case Study - Vehicle Hierarchy. Inheritance of attributes and methods, constructors, protected versus private attributes. GTransport Inc. case study |
Lecture 23 - Mar 6 |
Case Study - Person Hierarchy. Abstract classes and methods, interfaces. GTransport Inc. case study |
Lecture 24 - Mar 8 |
Special Classes and Interfaces. More on interfaces, anonymous classes, inner classes, polymorphism. Class hierarchies test program |
Lecture 25 - Mar 12 |
ArrayList<T> Class. ArrayList<T> usage and introduction to generics |
Lecture 26 - Mar 13 |
Generic Class Bounds. Bounds for using custom classes to instantiate generic classes |
Lecture 27 - Mar 15 |
Comparisons in Generic Classes. Comparing objects in generic classes |
Lecture 28 - Mar 19 |
Lambda Expressions. Application of lambda expressions to sorting collections of objects and operations on streams of strings |
Lecture 29 - Mar 20 |
GUI Models and JavaFX. AWT, Swing and JavaFX Java class models |
Lecture 30 - Mar 22 |
JavaFX Project. Building JavaFX GUI applications with Eclipse and Scene Builder |
Lecture 31 - Mar 26 |
JavaFX Containers. Examples of JavaFX Container Objects |
Lecture 32 - Mar 27 |
GUI Layout and Events. Building a GUI Layout with menus, containers and components using the Scene Builder tool. Managing events with the "Controller" Java class |
Lecture 33 - Mar 29 |
JavaFXEvents Application. JavaFXEvents example to demonstrate typical events and component interactions in a GUI application |
Lecture 34 - Apr 2 |
LinkedList. Linked data structures and node objects. Single-link linked list example implementing single-location node addition/deletion |
Lecture 35 - Apr 3 |
DoublyLinkedList. Multiple-link data structures and encapsulation of node objects. Doubly-linked list example implementing two-ended node addition/deletion and traversal |
Lecture 36 - Apr 5 |
Collections. Generic data structures and the Java Collections Framework. DSDemo program to show operations on single-link, double-link and generic linked lists. Demo set operations on a HashSet collection. |
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 9 | SolutionAssignment1 |
An example solution for assignment 1 |
Mar 13 | SolutionAssignment2 |
An example solution for assignment 2 |
Apr 11 | SolutionAssignment3 |
An example solution for 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 |
2018-01-15 |
Website opened |
2018-01-21 |
Posted lecture material of week 2 |
2018-01-27 |
Posted lecture material of week 3 |
2018-02-03 |
Posted lecture material of week 4 |
2018-02-09 |
Posted lecture material of week 5 |
2018-02-09 |
Posted an example solution for assignment 1 |
2018-02-09 |
Posted assignment 2 |
2018-02-17 |
Posted lecture material of week 6 |
2018-03-04 |
Posted lecture material of week 7 |
2018-03-12 |
Posted lecture material of week 8 |
2018-03-13 |
Posted assignment 3 |
2018-03-13 |
Posted an example solution for assignment 2 |
2018-03-18 |
Posted lecture material of week 9 |
2018-03-25 |
Posted lecture material of week 10 |
2018-03-30 |
Posted lecture material of week 11 |
2018-04-07 |
Posted lecture material of week 12 |
2018-04-11 |
Posted an example solution for assignment 3 |