EECS 1022 3.0 - Section A
Programming for Mobile Computing
Fall 2020

Department of Electrical Engineering & Computer Science,
York University

The course materials and course announcements for EECS 1022 - Section A will be posted on the York Moodle website

The first lecture will be on Friday, September 11, 2020. All course lectures will be online see the course page on Moodle for the Zoom meeting ID information.

There is no lab on Friday, September 11, 2020, but you are expected to obtain the textbook (see below) and do the D0 app described in Chapter 0 "Doing" of the textbook on your own by September 18, 2020. Chapter 0 of the textbook is available for download on the book website.

Course Description

This course provides a first exposure to object-oriented programming and enhances student understanding of key computing skills such as reasoning about algorithms, designing user interfaces, and working with software tools. It uses problem-based approach to expose the underlying concepts and an experiential laboratory to implement them. A mature mobile software infrastructure (such as Java and the Android programming environment) is used to expose and provide context to the underlying ideas. Laboratory exercises expose students to a range of real-world problems with a view of motivating computational thinking and grounding the material covered in lectures.

Object-Oriented Programming

Mobile Computing

Prerequisites: EECS 1012 3.0
Course Credit Exclusions: EECS 1021 3.0, EECS 1020 3.0, CSE 1020 3.0, ITEC 1620 3.0

Learning Outcomes

By the end of the course, the students will be able to:

Instructor

Dr. Mufleh Al-Shatnawi
Email: mufleh "at" eecs.yorku.ca

Online Lectures

Fridays from 14:30 to 16:30.

The first lecture will be on Friday, September 11, 2020. All course lectures will be online see the course page on Moodle for the Zoom meeting ID information.

Labs

Instructor Office Hours

by appointments

Textbook

Roumani, H., Introduction to Computer Science with Android, Second Edition with the CS Trail, CompuScope Consulting, 2020, ISBN: 978-1-7751254-1-9.
book website.

The textbook is required. It is available on Amazon (order it early to avoid delays) and at the York bookstore and is on reserve in Steacie Library.

This textbook contains the requirement of the lab apps (D1 through D5) and guides you through their development in its "Doing" chapters.

You are expected to do the Zero App (Chapter 0-Doing) and to read Chapter 0-Learning on your own by Friday, September 18, 2020 at the latest. Chapter 0 is available for download on the book website.

Note that there have been recent changes in Chapter 0 of the Second Edition to use JUnit testing early instead of PSVM testing (which is no longer supported by the latest version of Android Studio). These changes are in Sections L0.2.b and L0.2.d. Make sure your version of the textbook contains the new version of Chapter 0, which can be downloaded from the book website.

There is a series of video clips on the textbook website (the "Walkthrough") that walks you through the entire app development process and applies this process to develop the D1 app. It is highly recommended that you watch these clips during the first week of the term.

Evaluation Scheme

Labs Apps D1-D5 (5 @ 4% each)      20%
Quizzes (4 @ 2.5% each)      10%
Test 1      20%
Test 2      20%
Final Exam      30%
Total 100%

All Quizzes, Tests and Final exam are held online using course Moodle, and all will be submitted electronically.

There are 5 labs in the course. There will be no shifting of grade weights for labs.

Tentative Schedule

Note: All course lectures will be online see the course page on Moodle for the Zoom meeting ID information.

Lecture will be every Fridays from 14:30 to 16:30, and the first lecture will be on Friday, September 11, 2020.

WEEK OF LECTURE IMPORTANT NOTES
Monday, September 07 Chapter 0 No Labs (But do the App D0 on your own)
Monday, September 14 Topics from Chapter 1 and 2 Prepare D1 App
Monday, September 21 Topics from Chapter 1 and 2 Get D1 App Checked and start working on D2 App
Monday, September 28 Topics from Chapter 1 and 2 Quiz1, Get D2 App Checked
Monday, October 5 Topics from Chapter 3 Test1, Thursday October 8, 2020 and start working on D3 App
Monday, October 12 Fall Reading Week No Classes, University open (Oct. 10 - 16)
Monday, October 19 Topics from Chapter 3 and 4 Prepare D3 App
Monday, October 26 Chapter 4 Quiz 2, Get D3 App Checked and start working on D4 App
Monday, November 2 Topics from Chapter 4 Prepare D4 App
Monday, November 9 Topics from Chapter 4 and 5 Quiz3, Get D4 App Checked and start working on D5 App
Monday, November 16 Topics from Chapter 5 Test2, Thursday November 19
Monday, November 23 Topics from Chapter 5 Prepare D5 App
Monday, November 30 Course Review Quiz4, Get D5 App Checked

Labs

Lecture Slides

The course lecture slides will be posted on the Course Moodle website or Check the link Echo360 Lecture Materials and Videos

Policies

Academic Honesty

During tests and exams, students are expected to work individually, and only access permitted resources. Communicating with others during the test, using aids that are not permitted, and impersonation are all examples of academically dishonest behaviour.

Student are expected to read the Senate Policy on Academic Honesty. See also the EECS Department Academic Honesty Guidelines.

Programming Environment

EECS Remote Lab

The EECS Remote Lab service allows you to connect to EECS lab workstations from within your web browser. The workstation's desktop is displayed within the browser window and you can run any software available on the workstation as if you were there.

If you don't already have one, you will need to generate an EECS account before using remotelab by visiting: https://webapp.eecs.yorku.ca/activ8. It takes about 40 minutes for the EECS account to get created, and then you can login to remotelab. You must be enrolled in EECS 1022 for this to work (if you just enrolled in the course, it will take one day for the enrollment data to be uploaded to EECS systems).

Once you have an EECS account, you can use the remotelab service. Go to https://remotelab.eecs.yorku.ca, login, and select Linux Remote Desktop (EDU), and then any of the WSC workstations listed. You will be logged in as "user" and can work as if in the lab.

This uses Apache Guacamole; see this link for documentation. To cut-and-paste between your desktop and the remote desktop, open the Guacamole menu by pressing Ctrl+Alt+Shift and paste into the clipboard there.

To run Android Studio on the lab workstation, select it under development apps. There are two predefined projects there that you can run. Also preinstalled are two virtual devices that you can run apps on, a Nexus 9 API 29 tablet and a Pixel 3a XL API 29 phone.

Notice on the Platforms Used

Several platforms will be used in this course (e.g., Moodle, Zoom, Echo360, etc.) through which students will interact with the course materials, the course director / TA, as well as with one another.

Students shall note the following:

Technology requirements and FAQs for Moodle can be found here.

Resources