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

CISC-124

Introduction to Computing Science II

Section 2 - Winter 2018


"Logic will take you from A to B. Imagination will take you everywhere."

- Albert Einstein
 

https://wallpapersite.com/nature/torres-del-paine-national-park-soaring-mountains-hd-5501.html



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
Dr. Francisco de la Parra
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



Return to top



Course Information

CISC-124 Course Information
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
Four Assignments worth 8% each : 32%
Three Lab Quizzes worth 8% each : 24%
One Final worth 44% : 44%


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




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




Return to top



Assignments

CISC-124 Assignments
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





Return to top



Lecture Notes

Lecture Notes
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.




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 & Sample Tests

CISC-124 Sample Tests
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




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
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



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.