EECS 1022 3.0
Programming for Mobile Computing
Fall 2018

Department of Electrical Engineering & Computer Science,
York University

Course announcements and information are also available on the course page on Moodle.

Since Moodle has often been slow or inaccessible, announcements and information on lectures and labs also appear on this page.

What's New

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

Prof. Yves Lespérance
Office: LAS 3052A
Tel: 736-2100 ext. 70146
Email: lesperan "at" cse.yorku.ca

Lectures

Monday from 14:30 to 16:30 in VH A (VH is Vari Hall).

Labs

Instructor Office Hours

Monday 17:00 to 18:00 and Wednesday from 15:00 to 16:00, in LAS 3052A.

Textbook

Roumani, H., Introduction to Computer Science with Android CompuScope Consulting, 2019, ISBN: 978-1-7751254-0-2.
book web site.

The textbook is required; it is available at the York University Bookstore and on Amazon.

Evaluation Scheme

Labs (6 @ 3% each)      18%
Lab tests (3 @ 10% each)      30%
Final exam       52%
Total 100%

Tentative Schedule

Policies

Academic Honesty

During tests and exams, students are expected to do their own work. Looking at someone else's work during the test, talking during the test, using aids not permitted (such as a phone) during the test, 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.

Lecture Slides

Labs

Lab 0 (Sept 7 & 14, submit for grading on Sept 21)

This lab will get you acquainted with Android Studio (on the lab workstations) and how to use it to develop apps and run them on Android devices.

The task is to follow the instructions and do the exercises in "Chapter 0 Preliminaries - Doing" of the textbook. If you don't have a copy of the textbook yet, go to http://book.roumani.ca and click on the link "Download the first chapter".

To do Exercise 4 in D0.3, borrow a tablet from the lab monitor.

To get your Lab 0 graded:

Lab 1 (Sept 14 & 21, submit for grading on Sept 28)

For this lab follow the instructions and complete the task in Chapter 1 - Doing - The Landscape (Section D.1.1 to D.1.4) of the textbook. You should also complete many of the exercises in Section D.1.5.

There is a video describing how to develop the BMI app of Lab 1 on the textbook website; go there and click on "The Walkthrough Video". Note that the instructions there on how to submit the lab there through Moodle are obsolete; we use Web Submit instead.

To get your Lab 1 graded:

Lab 2 (Sept 21 & 28, submit for grading on Oct 5)

For this lab follow the instructions and complete the task in Chapter 2 - Doing - Declare, Set, Go! (Section D2.1 to D2.4) of the textbook. You should also complete many of the exercises in Section D2.5.

To get your Lab 2 graded:

Lab 3 (Oct 26 & Nov 2, submit for grading on Nov 2)

For this lab follow the instructions and complete the task in Chapter 3 - Doing - A Symphony of APIs (Section D3.1 to D3.3 inclusively) of the textbook. You must also implement the features described in Section D3.4 Exercises 4 and 5. It is recommended that you also try to solve the other exercises in Section D3.4 (but these will not be graded). Note that you must use several library classes; follow the links under Resources below to access the relevant APIs.

To get your Lab 3 graded:

Lab 4 (Nov 2 & Nov 9, submit for grading on Nov 9)

For this lab follow the instructions and complete the task in Chapter 4 - Doing - String Land (Section D4.1 to D4.3 inclusively) of the textbook. You should also complete many of the exercises in Section D4.4 (but these will not be graded).

To get your Lab 4 graded:

Lab 5 (Nov 9, 16, and 23, submit for grading on Nov 23)

For this lab follow the instructions and complete the task in Chapter 5 - Doing - Collections (Section D5.1 to D5.3 inclusively) of the textbook. You should also complete many of the exercises in Section D5.4.

To get your Lab 5 graded:

Resources