EECS 1022 3.0 - Section A
Programming for Mobile Computing
Summer 2021
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 eClass website
The first lecture will be on Wednesday, May 12, 2021. All course lectures will be online see the course page on eClass for the Zoom meeting ID information.
There is no lab during the first week, week of May 10, 2021, but
you are expected to obtain the textbook (see below)
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.
The lectures (two hours weekly) are supplemented by a three-hour weekly lab.
Object-Oriented Programming
- Primitive types
- Classes and objects
- Control structures
- Collections
Mobile Computing
- User interface elements and XML
- Layouts and Themes
- Activities and Intents
- Event Handlers
Prerequisites: LE/EECS1012 3.00 or LE/EECS1015 3.00
Learning Outcomes
By the end of the course, the students will be able to:
- Understand software development within an object-oriented framework using a modern programming language and tool set.
- Use a set of computing skills such as reasoning about algorithms, tracing programs, test-driven development, and diagnosing faults.
- Explain and apply fundamental constructs in event-driven programs, including variables and expressions, control structures (conditionals/loops), and API usage.
- Write simple programs using a given software infrastructure, API, and tool chain.
- Gain exposure to a comprehensive mobile computing framework.
- Gain exposure to user interface design.
Instructor
Dr. Mufleh Al-Shatnawi
Email: mufleh "at" eecs.yorku.ca
Online Lectures
Every Wednesday from 18:30 to 20:30. Visit York eClass website
The first lecture will be onWednesday, May 12, 2021. All course lectures will be online see the course page on eClass for the Zoom meeting ID information.
Labs
- Lab Section 1: Tuesday from 18:00 to 21:00.
- Lab Section 2: Tuesday from 18:00 to 21:00.
- Lab Section 3: Tuesday from 18:00 to 21:00.
- Lab Section 4: Thursday from 18:00 to 21:00.
- Lab Section 5: Thursday from 18:00 to 21:00.
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. The book’s page on Amazon now shows two formats, "paperback" and "kindle", and students can buy either from the same page Now you have access to the latest version of the textbook that you can use to develop APP for lab 6, 7 and 8 assignments and guides you through their development in its "Doing" chapters. Also, the book is available the York bookstore and is on reserve in Steacie Library.
This textbook covers course topics and contains the requirement of the lab apps 6, 7 and 8 assignments 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 Monday, June 28, 2021 at the latest.
Chapter 0 is available for download on 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 week7, week of June 28, 2021 of the term.
Evaluation Scheme
Labs (8* 2.5%) Check Course Calendar at eClass Site |
20% |
Quizzes (4 @ 2.5% each)
Quiz1 will open on Thursday, May 27, 2021, at 3:00 PM EST
Quiz2 will open on Thursday, June 10, 2021, at 3:00 PM EST
Quiz3 will open on Thursday, July 8, 2021, at 3:00 PM EST
Quiz4 will open on Thursday, July 22, 2021, at 3:00 PM EST |
10% |
Test 1 Test1 will open on Thursday, June 17, 2021, at 3:00 PM EST |
20% |
Test 2 Test2 will open on Thursday, July 29, 2021, at 3:00 PM EST |
20% |
Final Exam(TBA) | 30% |
Total | 100% |
All Quizzes, Tests and Final exam are held online using course eClass, and all will be submitted electronically.
There are 8 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 eClass for the Zoom meeting ID information.
Lecture will be every Wednesday from 18:30 to 20:30, and the first lecture will be on Wednesday, May 12, 2021.
Visit York eClass website for Tentative Weekly Lecture Topics
Labs
-
Labs start on the week of May 17, 2021.
-
All labs are to be completed individually: no group work is allowed.
- TAs will perform thorough checks on all lab submissions: convincingly suspicious
submissions will be reported to the Lassonde Student Service for a formal
investigation immediately.
-
All lab sections are held on Zoom. The Zoom meeting ID information
will be posted on eClass. You can attend any, multiple, or all of them to ask TA questions.
-
If you get stuck and can't complete the lab solution before your lab session, that's OK: the lab session is intended primarily as a learning environment. Attend your lab session and the TA will be happy to help.
-
The labs will be checked and graded by the TA and files must be uploaded using the course eClass by these deadlines:
- Lab1 by May 28,
- Lab2 by June 4,
- Lab3 by June 11,
- Lab4 by June 18,
- Lab5 by July 2,
- Lab6 App D2-Mortgage by July 16
- Lab7 App D3-MCalcPro by July 23
- Lab8 App D5-Caps by August 6
Lecture Slides
The course lecture slides and recorded videos will be posted on the Course eClass website
Policies
-
Plagiarism: When you submit your labs or programming test, you claim that it
is solely your work. It is considered as an violation of academic integrity if you
copy or share any parts of your work (e.g., code, diagrams) during any stages of your
development. The instructor and TAs will examine all submitted code, and suspicious
submissions will be reported immediately to Lassonde as a breach of academic integrity.
We do not tolerate academic dishonesty, so please be fully responsible for your
learning.
-
Online Submission/Assessment : Stringent deadlines are imposed on all
scheduled tests (to be completed online on eClass),
as well as labs (to be submitted to eClass electronically to the EECS server). The final
exam is scheduled online (via eClass) with stringent timing requirements (start
time, duration, and end time to be announced by the registrar office).
- All announced deadlines are in the Eastern Time Zone (Toronto time). Students on a
different time zone must figure out the corresponding local time.
- No Team Work: All labs and tests are to be
developed and completed individually (i.e., team work is forbidden). This is
meant for avoiding students having difficulties finding a suitable teammate and disputes
between teammates (e.g., non-responsiveness, overdue progress, last-minute notice of
withdrawal): the online nature of this course would only exacerbate these problems.
-
The course announcements will appear the course's eClass
site. You are responsible for checking these regularly, especially the
Course Announcements!
-
You can post questions to the course forum. Don't post solutions to lab or tests questions!
-
When emailing the instructor, put EECS1022 in the Subject line, and include your Passport York ID in the message.
-
If you miss a test1 or test2 (not the final exam) due to illness, or any other properly documented reason. You have to upload a justification document in PDF format including any supporting documentation within a week of the missed test. You will upload your document to assignment called missedTest1 or missedTest2 using Course eClass site within one week of the missed test. If your explanation for missing the test is approved, the weight of the missed test will be moved onto the final exam and other test. Otherwise, the decision will be posted as feedback to your uploaded document.
Once a student begins writing a test or other assessment, the weight of that assessment will not be shifted for any reason. Thus, if a student is feeling ill, the student should not attend the test and seek the advice of a physician within twenty-four (24) hours.
- Missed final exam: Students who miss the final exam and
want to take a makeup final exam must
properly complete a
Deferred Standing Agreement form and submit it to the instructor
by email
together with your supporting documentation within one week of the originally
scheduled exam.
Please read
Deferred Exam Request
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
-
You will need to have access to a computer with the Eclipse and Android
Studio IDE installed.
-
One option is to download this free IDE and install it on your home
computer (see Chapter 0-Doing of the textbook).
- Another option is to login to a WSC lab workstation remotely
through your browser using the EECS remotelab service.
This gives you access to the workstation
desktop in a browser window and you can run any software available
on the workstation, including Android Studio.
See the next section for details on how to do this.
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., eClass, 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:
-
Zoom Student Account
Follow the instructions posted on this link to login to the ZOOM meeting using your Passport York credentials.
- The Online lectures will be recorded and then these recorded lectures will be posted on Echo360.
Technology requirements and FAQs for eClass can be found
here .
Resources