Course Outline and Syllabus

Course: EECS1012 3.00 Introduction to Computing: a Net-centric Approach Term: Fall 2020         
Sections: A and B
Course Webpage: and


This document communicates course information and defines expectations and responsibilities. In the case of petitions, it is used in the adjudication process as the definitive source of information about a course. This document expands on the course outline, which is also provided to students at the beginning of the academic year.


This is an introductory programming course in computer science and engineering. It introduces skills and concepts such as computational thinking, procedural programming, variables/control-flow constructs, event-handling, and test-driven development within a net-centric context (using HTML, CSS and JavaScript).

Course Credit Exclusions: AP/ITEC3020 3.00, SC/CSE2041 3.00, LE/SC/CSE2041 4.00, LE/EECS2041 4.00.

Time and Location


Location (time)




Office hours


Zoom (F 14:30-16:30)

Andriy Pavlovych


TR 13:30–14:30


Zoom (R 14:30-16:30)

Amir H Chinaei


W 11:30–13:30


Lab sessions: one of the following (check your schedule)

Sec B, Labs 01,02, 03             M             9:30–12:30

Sec B, Labs 04,05, 06             M             13:00–16:00

Sec A, Labs 01,02, 03             T             9:30–12:30

Sec A, Labs 04,05, 06             W             16:00–19:00


There are two hours of lectures and three hours of experiential labs weekly. Lectures introduce the concepts mainly using a problem-based approach; Students implement such concepts in labs. Labs are supervised, in that students will do the lab in a specific location at a specific time. Labs will be posted the week before they are due. Importantly, students should work on the lab exercises prior to their lab session. There will be teaching assistants in each lab to provide limited hints. Students are highly encouraged to discuss concepts of the lectures and exercises of the labs with their peers. This should be done mostly outside lecture and lab sessions--while complying with policies on academic honesty and integrity. We take matters related to academic dishonesty seriously and will use various technological means to ensure academic integrity. Make sure you learn the concepts – do not just copy to finish the lab. Overall, the labs are primarily to prepare you for individual tests where you must work independently.

This course is demanding in terms of time and should not be added to an already heavy load: Slides and many other resources are available online; yet, not actively engaging in lectures, lab work, office hours, and exercises could severely impact your grade.

Learning Outcomes for the Course

1.     Use a set of computing skills such as reasoning about algorithms, tracing programs, test-driven development, and diagnosing faults.

2.     Explain and apply fundamental constructs in event-driven programs, including variables and expressions, control structures (conditionals/loops), and API usage.

3.     Write simple programs using a given software infrastructure.

4.     Gain exposure to net-centric computing, client-server applications.

5.     Become familiar with the notion of syntax, both for programs and web documents, and the principle of separation of concerns.


Lecture notes, labs and other resources will be made available on the course’s eClass page. In addition, online quizzes and subject matter tests, as well as lab submissions will be conducted using eClass. You are responsible for any and all information posted on eClass.

Highly Recommended (but not required) Course Textbooks

·        EECS1012 course notes available at YorkU Bookstore.

o   this is a great resource for many computational thinking examples and exercises, with the flowchart symbols we use in EECS1012

·        JavaScript for Kids, by Nick Morgan

o   this is a great book for those of you are very new to programming. Ignore the title of this book as many topics in this book are well advanced. A digital copy of this book is available in the eClass page of the course. The major weak point of this book is that it does not teach computational thinking.

·        Eloquent JavaScript, 3rd Edition, by Marijn Haverbeken

o   this is a great book to start programming with and continue to excel it. A must-read for anyone who wants to gain a great knowledge of JavaScript. A digital copy of this book is available in the eClass page of the course. The major weak point of this book is that it does not teach computational thinking.

·        Web Design with HTML, CSS, JavaScript and jQuery Set, by Jon Duckett

o   these are a set of two great books for those who want to start programming and become a great front-end developer. This is a link if you want to purchase it:  again this is not a good resource for learning computational thinking.


Your final grade in the course will be based on the assessment items below, using the weights indicated. No "extra credit" assignments will be provided. In order to be fair and consistent with regards to the entire class, individual grades are not negotiable. Furthermore, marks for assignments and tests will not be "rounded" or "bell-curved".

Assessment Item


Weight, %

8 weekly labs

starting the week of Sept 14


5 tests and lab tests

1.     Oct 8 or Oct 9 (during your official lecture)

2.     Week of Oct 19 (during your official lab session)

3.     Nov 5 or Nov 6 (during your official lecture)

4.     Week of Nov 23 (during your official lab session)

5.     Dec 3 or Dec 4 (during your official lecture)

64, or 69, or 71, or 76
(see the details below)

5 subject matter quizzes (SMQ)

1.     Sat Sep 26, 15 minutes from 15:00 to 22:00

2.     Sat Oct 17, 15 minutes from 15:00 to 22:00

3.     Sat Oct 31, 15 minutes from 15:00 to 22:00

4.     Sat Nov 14, 15 minutes from 15:00 to 22:00

5.     Sat Nov 28, 15 minutes from 15:00 to 22:00


optional CTC activities

weekly from Sept 8 to Dec 8

0 or 5

optional class and office hours  

throughout the term

0 or 7

Students repeating this course are expected to redo all lab exercises from scratch. Reusing work from a previous offering of the course (even if it is your own work) or any other source is a violation of the Senate Policy on Academic Honesty.

Students who are not officially enrolled in the course (and plan to enroll) are expected to attend the lectures and labs from the beginning of the term. Please contact us for details on how to obtain temporary access to the course materials while your enrolment status is being decided.

Overall, there are 8 labs, 5 tests, and 6 SMQs. However, for each of these categories we omit your one worst grade from the final calculation of your points, to mitigate for a bad day that you may have due to due to internet disconnection, or other incidents. Nevertheless, as the course runs totally online, we expect all students to have arranged for a dependable internet connection and reliable devices for all assessment items stated above. We will provide some guidance and tips on how to address some potential technical challenges. Regardless, students should also mitigate risks by leaving an adequate time buffer for coursework. If you miss an evaluation component due to illness, its weight will be transferred to your tests (or to the remaining tests – if the item missed was a test).

Labs. Details for each lab will be posted approximately one week before they are due. Each lab will have a PDF that you are expected to have read prior to the lab. TAs are available via Zoom to help you, and you are welcome to attend online lab sessions. Of course, you are strongly encouraged to attempt your labs before the lab sessions. Your work can be marked by a TA before the lab session time ends. Thus, it is important that you sign-in to your assigned lab, if you wish to demonstrate your lab work to the TA. Regardless of whether you plan your lab to be graded by your TA during the lab session, the labs files must be submitted before the deadline on Friday of the week when the labs are held. Also, note that part of your grade in each lab is a short mini quiz that is due before your lab session. That quiz is meant to test if you have read and understood the description of the lab tasks and whether you reviewed the relevant course topics.

Lab tests. These are two labs that are to be completed individually. You will still have access to reference resources on HTML, CSS or JavaScript. However, any direct or indirect communication with anyone will be prohibited. You are responsible to make sure you have a secure internet connection and reliable computer before starting each lab test.

(Regular) Tests. These are multiple-choice or similar (like short answer, drawing flowcharts, etc.). As with the other tests, direct or indirect communication will not be allowed.

Both types of the tests described above must be completed during the scheduled lectures and labs – the ones you are officially enrolled in. That also means that these tests are not asynchronous, and you are expected to be available to do finish them during the specific hours within your scheduled lecture or lab. Again, you are responsible to make sure you have a secure internet connection and reliable computer before starting each test.

Subject-Matter Quizzes. The 6 SMQs tend to test your knowledge on recently covered materials. For instance, in SMQ1, we may ask you questions to verify if you have read this document (the course syllabus/outline) thoroughly, among other questions. SMQs are asynchronous. In particular, you can write them any time between 13:00 and 21:00 on the test day; however, note that once you open each quiz, you have up to 15 minutes to answer it. Again, you are responsible to make sure you have a secure internet connection and reliable computer before starting each quiz.

Students who do not have any programming background or students who perform very well in the course are highly encouraged to conduct some special tasks which are worth 5 %. One type of special tasks is to effectively participate in the CTC for 7 weeks from Sept 10 to Nov 1. Another might be to participate in some other projects (to be defined towards end of the term, if any). Everyone has the option of conducting these tasks or having their weight included in their tests. Similarly, students who actively participate in lectures and office hours and online surveys during these activities will receive 7 percentage points towards their final grade. For students who are not active in lecture or office hours, we automatically transfer these 7 points to their tests.

Missed labs or lab-tests or midterm: If you miss any lab or test (not a subject matter quiz), you should upload in eClass a properly completed Special Consideration Form. Please note there is a deadline to upload such forms and the deadline depends on the date of the original assessment –normally within one week of that date. Check these in eClass. Upon approval, your grade in the missing assessment will be calculated based on your grades on other tests.

Remarking requests: If you believe that a test was graded incorrectly, you may request a reappraisal of the work. A reappraisal request must be properly uploaded in the eClass page before the deadline (which is up to one week of receiving the original grade). It is essential that you explain clearly why you think the work should be re-marked; otherwise, the grade will remain unchanged. Note that the test will be re-graded in its entirety and that re-grading can result in the grade being raised, confirmed, or lowered. Also note that remark requests will be processed within four weeks after the deadline.

Grading: The final grade for the course is obtained by combining the scores of the assessments and mapping this total to a letter grade according to the following mapping table. Final course grades may be adjusted to conform to Department or Faculty grades distribution profiles.

≥ 90

≥ 80

≥ 75

≥ 70

≥ 65

≥ 60

≥ 55

≥ 50

≥ 40

< 40












Email Policies

·        We highly encourage you to ask questions during lectures or office hours, and use the eClass discussion forum, before emailing the course instructor. You should use eClass to upload any paperwork within the designated deadlines. Email should be used only for special circumstances that are not facilitated in eClass.

·        To save yourself time, do not ask a question whose answer is in the Course Outline and Syllabus or in the forum. Search this document instead.

·        Only use your York email account. We may not see/reply your email if it's sent via other accounts (such as Yahoo, Hotmail, Gmail, iCloud, etc.)

·        Please include “EECS1012”, a brief indication of the topic in the subject line, and your formal name (the one used within YorkU systems), Passport York username, and student number at the end of your message. These are necessary to access your course records and materials. Also include any additional information that is pertinent to the topic of your email.

·        Use grammatical English. Do not use SMS-style talk (e.g., “r u gonna return the tests tmr?”) or other shorthand or slang. For guides on writing professional emails, read this.

·        Email messages not complying with these guidelines may not be answered in a timely manner.

·        We generally respond to emails within 24 hours (usually much sooner). However, we reserve the right to not respond to any emails on weekends or during holidays.

Announcements, Course Content, and Submissions on eClass

Course announcements will be posted on eClass in the "Course Announcements" section. By default, all enrolled students should receive an email notifying them of a new announcement. Regardless, it is the responsibility of each student to be aware of all course announcements that are made, so check the forum regularly.

Also, all lecture notes, link to other resources, lab instructions, deadlines, and important dates are on eClass. Students will be required to submit their lab work on eClass within the designated deadlines. In order to be fair and consistent with regards to the entire class, we do not make exceptions for individual students.

Computational Thinking Club

The learning objectives of this course emphasize on computational thinking, in particular algorithm design. EECS1012 students are very highly encouraged to join the club to improve their algorithm design skills as early as the first week of classes. The club runs mainly during the first 7 weeks of classes. Sessions are held via Zoom on:

·        Thursdays 12:00–14:00

·        Thursdays 19:00–21:00

·        Fridays 17:00–19:00

·        Saturdays 10:00–12:00

·        Sundays 10:00–12:00

Students who attend at least one session per week for the first 7 weeks (from Sept 10 to Nov 1) and, for each session, bring questions to solve may obtain some bonus points or special tasks.

Peer Instruction

The peer instructions activity is twofold: you enhance your learning by studying some topics of your choice with your peers and if you do it based on the guidelines we will provide you with, you improve both your learning and your grades in upcoming test/exam; you also might obtain some bonus points to boost your grade even further. The guidelines and details of how to engage in peer instructions will be posted on eClass in week 7 of classes.


Images and materials presented in lectures are subject to Canadian copyright law. Lectures are the intellectual property of the professor. Course materials are the intellectual property of the associated author(s). You may not and may not allow others to reproduce or distribute lecture notes, test questions and other course materials publicly for commercial and non-commercial purposes without an express written permission from the professor or author. If it can be shown that these terms were violated by you, your course grade may be changed to an F even after the course is completed.

Academic Honesty

Students are expected to do their own work and to act with integrity. Accessing someone else's work during a test, communicating with other persons during a test, using unauthorized aids during a test, plagiarism, not reporting cheating by someone else, and impersonation are all examples of academically dishonest behaviour. Students repeating this course are expected to redo all lab exercises from scratch. Reusing work from a previous offering of the course (even if it is your own work) or any other source is a violation of the Senate Policy on Academic Honesty.

We take matters related to academic dishonesty seriously and we take measures to detect irregularities during all assessments. For example, network traffic may be logged, video surveillance may be considered, and multiple versions of the questions may be used. The work you submit may also be checked for signs of cheating using automated tools, sometimes not immediately.

Students are expected to read and understand the Senate Policy on Academic Honesty, with additional comments and explanations here: If you have any questions about the policy or would like to report a violation, please speak with your instructor.

Other Resources There is an academic integrity website with comprehensive information about academic honesty and how to find resources at York to help improve students' research and writing skills, and cope with University life. Students are strongly encouraged to review the materials on this SPARK Academic Integrity website.

Discussion Forum Code of Conduct

·        Students are encouraged to participate in the online eClass forums to ask or comment on questions relating to course concepts.

·        Check to see if your question has already been posted. You are expected to search the forums, but you do not have to read each post. If your question has not already been asked, create a new post.

·        Use a clear, informative subject line ("Please Help!" is not informative). Try to be as specific as possible.

·        Post comments appropriate to the particular discussion. Off-topic posts may be deleted.

·        Post only material relevant to the course. Other posts may be deleted.

·        Be respectful. Posts containing personal insults, attacks, intimidation, or profanity may be deleted. Remember, TAs and instructors read forum posts too.

·        Any post that appears to violate this code of conduct may be edited, moved, or deleted at the discretion of the moderators. If a post also gives indication of violating the Senate Policy on Academic Honesty or the York University Student Code of Conduct, further action may be taken. It is specifically forbidden to post or solicit solutions for quizzes, tests, or labs through the discussion forum (or elsewhere, for that matter; we monitor various online venues).

·        We might consider some bonus points based on your activities in the forum.

Classroom Code of Conduct

Students and instructors are expected to maintain a professional relationship characterized by courtesy and mutual respect. Moreover, it is the responsibility of the instructor to maintain an appropriate academic atmosphere in the classroom and other academic settings, and the responsibility of the student to cooperate in that endeavour. Further, the instructor is the best person to decide, in the first instance, whether such an atmosphere is present in the class. The policy and procedures governing disruptive and/or harassing behaviour by students in academic situations is available online. See also:

·        Student Rights and Responsibilities -

·        York University Racism Policy and Procedures -

·        York University’s Policies on Sexual Violence -

·        York University’s Policies on Gender/LGBTQ*/Positive Space -

Online Platforms

Several platforms will be used in this course (e.g., eClass, Zoom, etc.) through which students will interact with the course materials, the course director / TA, as well as with one another. Please review the syllabus to determine how the class meets (in whole or in part), and how office hours and presentations will be conducted.

Students shall note the following:

·        Zoom is hosted on servers in the U.S. This includes recordings done through Zoom.

·        If you have privacy concerns about your data, provide only your first name or a nickname when you join a session.

The course online lectures will be recorded. If you have privacy concerns, please disable your camera (and possibly remove your photo from the Zoom profile). The system is configured in a way that all participants are automatically notified when a session is being recorded. In other words, a session cannot be recorded without you knowing about it.

Technology requirements and FAQs for eClass (aka Moodle) can be found here:

Additional Information

Access/Disability: York University is committed to principles of respect, inclusion and equality of all persons with disabilities across campus. The University provides services for students with disabilities (including physical, medical, learning and psychiatric disabilities) needing accommodation related to teaching and evaluation methods/materials. These services are made available to students in all Faculties and programs at York University.

Students in need of these services are asked to register with disability services as early as possible to ensure that appropriate academic accommodation can be provided with advance notice. You are encouraged to schedule a time early in the term to meet with each professor to discuss your accommodation needs. Please note that registering with disabilities services and discussing your needs with your professors is necessary to avoid any impediment to receiving the necessary academic accommodations to meet your needs.

Additional information is available at the following websites:

·        Student Accessibility Services

·        York Accessibility Hub


Religious Observance Accommodation: York University is committed to respecting the religious beliefs and practices of all members of the community, and providing reasonable accommodations for observances of special significance to adherents. Should any of the dates specified in this syllabus for an in-class test or examination pose such a conflict for you, contact the course coordinator within the first three weeks of class. Similarly, should an assignment to be completed in a lab, practicum placement, workshop, etc., scheduled later in the term pose such a conflict, contact the course coordinator immediately. Please note that to arrange an alternative date or time for an examination scheduled in the formal examination periods, students must complete an Examination Accommodation Form, which can be obtained from Student Client Services, Student Services Centre or online.

·        Religious Observance -