CISC 124/3.0 Introduction to Computing Science II
Original Author: Bob Tennent
Most Recent Author: Wendy Powley
Last Revised: 2019-03-20
Introduction to object-oriented design, architecture, and programming.
Use of packages, class libraries, and interfaces.
Encapsulation and representational abstraction.
Introduction to a class design notation.
Applications in various areas.
Prerequisite: C- in CISC 121/3.0.
or MATH 110/6.0
or MATH 111/6.0
or MATH 112/3.0
or MATH 120/6.0
or MATH 121/6.0
or MATH 123/3.0
or MATH 124/3.0
or MATH 126/6.0
or APSC 171/3.0 or APSC 172/3.0 or APSC 174/3.0
or COMM 161/3.0 or COMM 162/3.0.
Learning hours: 120 (36L; 24Lb; 60P)
This course is a direct prerequisite to
- CISC 221/3.0 (Computer Architecture)
- CISC 223/3.0 (Software Specifications)
- CISC 235/3.0 (Data Structures)
- CISC 360/3.0 (Programming Paradigms)
- CISC 332/3.0 (Database Systems)
- CISC 457/3.0 (Image Processing)
This course is required in all Computing programs.
Walter Savitch. Absolute Java.
- history and features of Java (2 lectures)
- procedural Java, the Java API, good coding style (6 lectures)
- numerical representation, IEEE 754 storage standard for floating point numbers, sources and effects of roundoff error and inaccuracy (2 lectures)
- basic language features: exceptions, pointers, passing by reference (2 lectures)
- what is an object?, encapsulation (4 lectures)
- essential tools: Javadoc, JUnit testing (3 lectures)
- intermediate language features: packages, modules, enums, inner classes, interfaces, anonymous classes, abstract classes (3 lectures)
- advanced language features: inheritance, polymorphism. generic classes and methods, lambda functions, method references (6 lectures)
- GUI construction with JavaFX (7 lectures)