EECS1720: Building Interactive Systems

W2021 – Section M


Contents

Course Description ......................................................................................................................................2
Learning Outcome .......................................................................................................................................2
Means of Communication .............................................................................................................................2
Textbooks ...................................................................................................................................................4
Assessments ................................................................................................................................................4
   Exam Dates ..............................................................................................................................................5
   Letter Grade Breakdown ............................................................................................................................5
Course Policies .............................................................................................................................................7
      Collaboration: ........................................................................................................................................7
      Late Submission: ...................................................................................................................................7
      Submission: ...........................................................................................................................................7
      Missed Midterm: ....................................................................................................................................7
      Lecture Materials ...................................................................................................................................7
Accessibility..................................................................................................................................................8
Academic Integrity........................................................................................................................................8
Student Conduct and Responsibilities .............................................................................................................8
Intellectual property notice ............................................................................................................................8
Religious Observance ....................................................................................................................................8


Course Description

A second course teaching more advanced programming concepts within the context of image, sound and interaction using an object-oriented language. Introduction to interactive systems, user interfaces, event-driven programming, object design and inheritance. Implementation using debuggers, integrated development environments, user interface builders. One term. Three credits.

Pre-requisites: LE/EECS 1710 3.00.

Course credit exclusions: LE/EECS 1020 3.00, LE/EECS 1022 3.00, AP/ITEC 1620 3.00. PRIOR TO FALL 2014: course credit exclusions: LE/CSE 1020 3.00. PRIOR TO SUMMER 2013: course credit exclusions: SC/CSE 1020 3.00.


Learning Outcomes

By the end of the course you will be able to

•   Understand class components, access/encapsulation and basic UML representations

•   Understand and use classes that involve complex aggregations/inheritance relationships

•   Use and create 2D Graphics

•   Understand Exception and Error mechanisms in Java

•   Design applications that incorporate Exception Handling

•   Understand and leverage class associations, inheritance & interfaces

•   Understand and leverage polymorphism

•   Understand and leverage simple containers/collections

•   Understand and design basic GUI applications

•   Understand and design applications that use events and event handlers

•   Understand and design applications that use simple threads


Means of Communication

Lecture Hours:

Tuesday & Thursdays 2:30pm-4:00pm

Meeting ID: 991 1897 2396 Passcode: 716269

Zoom: https://yorku.zoom.us/j/99118972396?pwd=Q21FUGovbmRRbjZZRkY1S29DMk5uQT09


Private Office Hours:

Private office hours will be conducted as one-to-one Zoom meetings during the following time slots (according to your section). This will require you to be in a queue upon joining the session (i.e. in a waiting room), until it’s your turn to be individually let into the meeting.

Please email your instructor directly for what cannot be said during office hours. If you need more explanation about a topic, please meet your instructor at their assigned office hours as email is not a good medium for explaining a topic.

Wednesdays 1:00pm-3:00pm (with Dr. M. Kyan)

Meeting ID: 939 5752 5634 Passcode: 995724

Zoom: https://yorku.zoom.us/j/93957525634?pwd=NHpYNTZoVEFvYTdDNENGOE1DS0ttUT09

Email: [email protected]

TA’s Office hours: TBD …


Piazza discussion forum:

This is a good place where you share your technical problems and issues. This method is encouraged as not only the instructors and TAs are there to help you but also your peers, who had the same issue and were able to resolve it can share their experiences. If you haven’t received an invitation for Piazza, at the beginning of the term, please contact your instructor to register you. Please note that this is a professional discussion forum and the members of this forum are your colleagues. This requires you to be professional in your communication.

The link for Piazza will be available through eClass

Please note that you can send an anonymous message if you do not feel comfortable asking a question by your name. However, please be aware that you are only anonymous to your peers not to the instructors and TA’s.


Laboratory sessions:

Please join the following zoom link for lab sessions (labs 1-6):

Zoom link: https://yorku.zoom.us/j/95873420639?pwd=OUNxQTRHZ1JJVVVoTUdITEVBRUNIdz09

Meeting ID: 958 7342 0639

Passcode: 496665


Textbooks

If you attend all the lectures (i.e. watch all the videos), take a note, grasp all the materials that are taught and complete all the assignments successfully, you probably do not need any book. However, there are some useful book that I can recommend you to read.

1.   Head First Java: A Brain-Friendly Guide, Kathy Sierra, Bert bates. ISBN-13: 978-0596009205 This book is different from any other books that is used for academic purpose. It does not have a formal structure that you normally see in other books, which makes it less boring to continue reading the book. I’m sure you do not fall sleep, reading this book. Please beware that not all the concepts that is taught, can be found in this book.

2.   Introduction to Programming in Java: Robert Sedgewick and Kevin Wayne. Second Edition. ISBN-13: 978-0672337840. This is an excellent book, with lots of good examples. Chapter 2.3 onwards is what we are interested in, for this course.

3.   Introduction to Computing & Programming with JAVA – A Multimedia Approach. M. Guzdial and B. Eriscon,, ISBN 0-13-149698-0. This is an excellent book that focuses on digital media concepts with Java

4.   Absolute Java: Walter Savitch. Sixth Edition. ISBN-13: 978-0134041674. This is an almost comprehensive book for this course however chapter 7 onward is what is useful for this course.

5.   Computer Science: An Interdisciplinary Approach: Robert Sedgewick and Kevin Wayne. ISBN-13: 978-0134076423. This book does is mostly about the science of computing. If you are perfectly comfortable with the materials taught in this course and you want to know more, this book is a good reference for you.


Assessments

   Assessment Type
   Weight
   Comment
   Labs
   15%
   7 labs, labs 0 (0%), labs 1-3 worth 2%, lab 4-6 worth 3%
   Programming Tests
   20%
   Two specific programming tasks that carry the same weight
   Assignments
   20%
   Two mini programming projects that carry the same weight.
   Midterm Test1
   20%
   Written exam (online).
   Final exam1
   25%
   Written exam (online).

1 : To pass the course, you must earn at least 50% of the total of midterm tests and final.


Letter Grade Breakdown

Grade
Grade Point
Per Cent Range
Description
A+
9
90-100
Exceptional
A
8
80-89.99
Excellent
B+
7
75-79.99
Very Good
B
6
70-74.99
Good
C+
5
65-69.99
Competent
C
4
60-64.99
Fairly Competent
D+
3
55-59.99
Passing
D
2
50-54.99
Marginally Passing
E
1
47-49.99
Marginally Failing
F
0
<45
Failing

Exam Dates

   Tests
   Date
   Material Covered
   Type
   Prog Test 1
   24 Feb (2hrs)
   Materials up to and including Week 5
   On line
   Prog Test 2
   31 Mar (2hrs)
   Materials up to and including Week 9
   On line
   Midterm
   11 Feb (2 hrs)
   Materials up to and including Week 4
   On line exam
   Final
   TBD
   It is a comprehensive exam covering all the material taught in this course
   On line exam

Other Important Dates

   Assignment Type
When
Due date
   Lab 0
13-Jan
-
   Lab 1
20-Jan
31-Jan
   Lab 2
27-Jan
7-Feb
   Lab 3
3-Feb
14-Feb
   Lab 4
10-Feb
21-Feb
   Lab 5
3-Mar
14-Mar
   Lab 6
17-Mar
28-Mar
   Programming Test 1
24-Feb
24-Feb
   Programming Test 2
31-Mar
31-Mar
   Assignment 1
4-Mar
21-Mar
   Assignment 2
25-Mar
11-April


Tentative schedule of course topics:

   Week
   Topic
   #
   Date
   1
   Jan 12,14
   Course Introduction
   Classes/Objects/Methods Review

   Jan 13
   Lab 0 (video series)
   2
   Jan 19,21
   Class Basics
   Introduction to RasterImage & Graphics2D

   Jan 20
   Lab 1
   3
   Jan 26,28
   Exceptions & Exception Handling

   Jan 27
   Lab 2
   4
   Feb 2,4
   Object Hierarchies
   Inheritance & Polymorphism

   Feb 3
   Lab 3
   5
   Feb 9,11
   Object Containers/Collections

   Feb 10
   Feb 11
   Lab 4
   MIDTERM

   Feb 15-19
   READING WEEK
   6
   Feb 23,25
   User Interfaces

   Feb 24
   Programming Test 1
   7
   Mar 2,4
   User Interfaces

   Mar 3
   Mar 4
   Lab 5
   Assignment 1 (posted)
   8
   Mar 9,11
   Event Driven Programming

   Mar 10
   Lab 5
   9
   Mar 16,18
   Event Driven Programming

   Mar 17
   Lab 6
   10
   Mar 23,25
   Threads and Animation

   Mar 24
   Mar 25
   Lab 6
   Assignment 2 (posted)
   11
   Mar 30, Apr 1
   Threads and Animation

   Mar 31
   Programming Test 2
   12
   Apr 6, 8
   Course Review

   Apr 14-28
   FINAL EXAM (TBD)


Course Policies

Collaboration:

You may work with any number of peers on your lab exercises (labs) because they are designed to help you learn the material. Since the collaboration with peers will boost your learning, it is allowed that you discuss your solution with others however you are required to submit your work individually. Copying and submitting your friends’ solution is not accepted.

The two assignments, which are a more open ended version programming project, will be done in small groups (of 2-3 students). Please be aware that we use a plagiarism detection tool on your submissions to make sure academic integrity is preserved.

Late Submission:

Every one of you have 2 tokens of grace with me that you can spend it for the late submission of labs or assignments. In case you cannot submit on time, perhaps due to illness or family emergency, you need to email me prior to the deadline. In this case, I will let you submit 24 hours after the deadline for the price of one token of grace. No late submission is accepted after you spent all tokens of grace. The extension is 24 hrs only, no longer.

Please note that the tokens of the grace do not work for other assessments (programming tests/midterm or final exam)

In rare situation, I may accept a late submission for the assignments (e.g. an illness that can be confirmed by the department by filling out the related forms) up to 48 hours. In this case, you should contact me prior to the deadline so we can discuss a new deadline. My suggestion is to start the assignments as soon as they are uploaded, so you don’t need to go the hassle of paper works to get an extension.

Submission:

You will be informed how to submit your wok in the description of the labs, assignments & tests.

Missed Midterm:

If you miss the midterm test due to any reason such as medical or family emergency, I will replace it with your final mark.

Lecture Materials

Lecture Materials including videos, weekly assignments and two major assignments will be available via eClass.


Accessibility

Students with diverse learning styles and needs are welcome in this course. In particular, if you have a disability/health consideration that may require accommodations, please feel free to approach me by email or disability service at https://accessibilityhub.info.yorku.ca/ or https://accessibility.students.yorku.ca/ as soon as possible.


Academic Integrity

At York university, we care about academic integrity. Any kinds of cheating, plagiarism and so on will not be tolerated. Please read the Lassonde School of Engineering’s description of academic honesty and integrity and policies in https://lassonde.yorku.ca/academic-integrity.


Student Conduct and Responsibilities

Please read http://calendars.registrar.yorku.ca/2012-2013/policies/student_conduct/index.htm for your academic and non-academic responsibilities and conduct.


Intellectual property notice

“These course materials are designed for use as part of the EECS2030 course at York University and are the intellectual property of the instructor unless otherwise stated. Third party copyrighted materials (such as book chapters, journal articles, music, videos, etc.) have either been licensed for use in this course or fall under an exception or limitation in Canadian Copyright law.

Copying this material for distribution (e.g. uploading material to a commercial third-party website) may lead to a charge of misconduct under York’s Code of Student Rights and Responsibilities and the Senate Policy on Academic Honesty and/or legal consequences for violation of copyright law if copyright law has been violated.”


Religious Observance

Please see https://edu.yorku.ca/ed-faq/what-provisions-are-in-place-for-academic-or-religious-observance-accommodations/ for religious observance accommodation.