Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Introduction to computer science II

CISC 124

1
Who Am I?
 Dr. Burton Ma
 office
 Goodwin 754
 office hours
 TBA
 email
 include CISC124 in subject line so I know what course you
are in
 burton.ma@queensu.ca

2
Teaching assistants
 TBA, see onq

 contact information and office hours will be posted on


onq

3
Course information
 everything will be on onq
 lectures are recorded

4
Textbooks
 course notes provided as Jupyter notebooks
 online at:
 https://mybinder.org/v2/gh/burtonma/CISC124_current/HEAD?urlpath=notebooks%2Ftoc.ipynb

 library has excellent online books:


 Introduction to Programming in Java: An Interdisciplinary
Approach, 2nd ed (excellent for its breadth of exercises, but
weak or lacking in some aspects of object-oriented
programming)
 https://ocul-qu.primo.exlibrisgroup.com/permalink/01OCUL_QU/1m1jubc/alma9952532745005158

 Effective Java, 2nd ed (3rd edition is actually available if you


look for it after following the link)
 https://ocul-qu.primo.exlibrisgroup.com/permalink/01OCUL_QU/sk7he5/cdi_askewsholts_vlebooks_9780134686073

5
Grading
 see onq

6
Assignments
 to be done individually, submitted via onq
 universal accommodation policy
 there is an official due date for each assignment
 expectation is that students will submit their work by this date
 all students may submit their assignment work up to 7 days
late without penalty and without needing to inform the
instructor or TAs
 grading of assignments may begin immediately after the
due date; changes made to your submitted work during the
accommodation period will not be considered if your work
has already been evaluated

7
Quizzes
 in class, see onq
 one missed quiz for academically valid reason
 weight of quiz is shifted to exam
 two missed quizzes
 policy to be determined

8
Exam
 in person, scheduled by Exams Office

9
What is this course about?
CISC 124: Introduction to computing science II
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.
Numerical computation. Applications in various areas.

 learn about object-oriented programming using Java

10
What is object-oriented programming?
 one of the most widely used programming paradigms
 programming paradigms
 structured programming
 like what you learned in CISC 121
 control flow defined by loops, conditionals, function calls
 object-oriented programming (OOP)
 running program made up of objects that have state (information)
and behavior (meth0ds)
 objects interact with one another by passing messages (calling
methods)
 many others

11
What is Java?
 a general purpose, cross platform, OOP language
 created during early 1990s to address issues with the
dominant languages at the time (C/C++)
 primary goals
1. simple, object-oriented, and familiar.
2. robust and secure.
3. architecture-neutral and portable
4. execute with high performance
5. interpreted, threaded, and dynamic

12
Where is Java used?
 enterprise software
 server-side
 big data
 embedded devices
 some scientific applications
 some video games

 see https://blogs.oracle.com/javamagazine/the-top-
25-greatest-java-apps-ever-written

13
Why not Python?
 it is good for you to learn different languages
 easier transition to C and C++
 needed for upper-year CISC courses

14
Using Java this course
 instructions on onq
 install a Java Development Kit (JDK)
 Oracle JDK 17 recommended
 install eclipse for Java programmers integrated
development environment (IDE)
 other IDEs are fine but I cannot offer support for them

15
Jupyter notebooks
 demo here

16

You might also like