Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CSC108H5 Winter 2021

Introduction to Computer Programming

Course Description

Welcome to CSC108H5, Introduction to Computer Programming!

Successful students from past terms agree that the keys to this course are: (1) frequent

practice; and (2) being active in the community. First, read or write Python code every day - if

only for a few minutes - rather than cramming the exercises and assignments into full-day

sessions . This will make lectures easier to understand, will give you plenty of time to ask

questions, and utilizes spaced repetition, which has been shown to improve learning . Second,

make friends with your peers in lecture and labs .You will see the people in this class also taking

MAT102, calculus, and in later computer science courses (e .g . CSC148) . Communicate with

each other on the discussion board, form study groups, and look for departmental seminars and

social events to get engaged early.

Prerequisite: Grade 12 Advanced Functions (MHF4U).

Exclusion: CSC108H1 or CSC120H1 or CSC148H5 or CSC148H1 or CSC150H1 or CSCA08H3 or CSCA20H3 (SCI)

Distribution Requirement: SCI

Students who lack a pre/co-requisite can be removed at any time unless they have received an

explicit waiver from the department. The waiver form can be downloaded from here.

Note about Time Zone

All dates and times for lectures/labs/deadlines reect the time zone in which the University

of Toronto Mississauga is in (i.e. Eastern Daylight Time/Eastern Standard Time).

Learning Outcomes

By the end of this course, you should be comfortable with procedural programming in Python

and will have been exposed to software development topics like testing, design, and

documentation . You will also be exposed to some core computer science ideas, such as

complexity, abstraction, and the use of algorithms.

Some of the topics covered in this course are:

-   Python Arithmetics, Logic and Booleans

-   Functions, Procedures, Scoping, Design

-   Strings, Indexes, Formatting

-   Conditionals, Loops

-   Data Structures (Lists, Dictionaries, Tuples)

-   File I/O (Reading, Parsing, Writing)

-  Testing (Doc Tests and Unit Tests)

-   Introduction to OOP (Structures, Methods, Magic Methods, Design)

-  Introduction to Sorting, Timing, and Complexity

Course Links

Quercus (for announcments, lecture exercises/slides, labs, quizzes/tests): https://q.utoronto.ca/

 (also includes all password-protected links, i.e. for lecture, piazza and discord

Course Website (central hub) : https://mcs.utm.utoronto.ca/~108s21/ (this website has our

weekly breakdown, as well as information about all the course tools we will be using such as

Zoom, Python, IDLE, etc.)

Course Instructors

Sadia Sharmin (co-ordinator)

Lecture times: MWF 11-12 (LEC9101) on Zoom (link on Quercus)

Ofce Hours: Mon 12:30-2, on our Discord Server (click on "#chat-with-sadia" on the sidebar,

and we can chat on there during ofce hour times you can also request private voice/video

chat)

Email Address: s.sharmin@mail.utoronto.ca

Barbara Pioro

Lecture times: MWF 12-1 (LEC9102) on Zoom (link on Quercus)

Ofce Hours: Wed 12:30-2, on our Discord Server (click on "#chat-with-barbara" on the sidebar,

and we can chat on there during ofce hour times you can also request private voice/video

chat)

Email Address: b.pioro@utoronto.ca

Lecture Information

This course will involve a virtual ipped classroom.

Here is your weekly routine for most weeks:

Monday by 10:00am (Before lecture):

Watch and complete "Prepare" exercises on PCRS (link will be available on Quercus)

Monday, Wednesday, Friday 11am - 12pm / 12pm - 1pm (During lecture):

Take part in synchronous online lecture exercises and discussion guided by your instructor,

often working with peers in the class to solve problems together

Sunday by 11:59pm (After lecture):

Complete the "Practice/Perform" exercises on PCRS

NOTE:

For Weeks 1 & 2: the PCRS exercises will be due late for these two weeks (see deadlines in the

calendar on Quercus), to give students who may join the course late a chance to catch up.

Lab Information

Starting from Week 3, you will have bi-weekly lab sessions during PRA times run by your TAs

(see calendar on Quercus and weekly breakdown on course website for exact dates) . Labs are

a scheduled time for you to get hands-on experience applying course concepts . Each one

consists of a few tasks that range from design, implementing functions in Python, writing tests,

and even learning some new material then applying it!

Some Lab Tips:

1.    Your TAs are there to help! Don't be afraid to ask them questions about the lab - that's why

they are there .

2.    If you happen to nish the regular lab tasks early, there are challenge problems that you can

work on! These are great practice!

Textbook Information

There is no required textbook, all course materials are provided on the course website. The

course website and PCRS is required reading.

This course requires regular access to a computer*. The software required for this course has

been installed in the computer science labs (DH2010/2020/2026) . Due to the online nature of

this semester, if you wish to install it on a personal machine, links to the required software and

packages are found on the course webpage.

Software includes: Python 3.8, an IDE** (e.g. IDLE -- this comes with the Python installation,

Wing101 -- your PCRS exercises use this, PyCharm, etc .), certain Python packages (see

course webpage), and Google Chrome as your browser.

*Please see the recommended and minimum technology requirements for remote/online

learning from the Ofce of the Vice Provost .

**This course will only support the use of IDLE and Wing101, if you choose to use another IDE

you must do so at your own discretion and without the troubleshooting support of course staff/

faculty.

Assessment Information

Item

Deadline

Weight

PCRS (Prepare, Practice, Perform)

Ongoing

15%

Bi-weekly Labs

Ongoing

15%

Assignment 1 (Individual)

February 11, 2021

10%

Assignment 2 (Individual)

March 11, 2021

15%

Assignment 3 (Individual)

April 8, 2021

15%

Final Exam

TBA

30%

NOTE: Last Date to drop course from Academic Record and GPA is March 15, 2021

ALL COURSE ASSESSMENTS (Assignments, Labs, PCRS, Exam, etc.) MUST BE

COMPLETED INDIVIDUALLY. THE WORK YOU ARE SUBMITTING SHOULD BE YOURS AND YOURS ALONE.

Weekly Practice (PCRS: Preparation, Practice, Perform)

Research consistently shows us that students remember only a small fraction of what is

presented in lecture . It is not easy to make sense of material that you see for the rst time in a

fast-paced lecture environment, let alone to stay focused for 50-minutes . It's also important to

space out your studying (spaced repetition) . To prime you for what we will discuss, you will view

a set of videos and complete exercises before Monday's lectures (by Monday 10AM) . These are

the "Prepare" exercises in PCRS . Then, you will complete a more challenging set of online

exercises by the next Sunday night by 10PM to test your understanding of that week's material .

These are the "Practice" and "Perform" exercises.

Although these exercises are marked, the important point is not that you get full marks but that

you emerge with an understanding of what you do and do not know. Use these exercises as

formative feedback: if you are struggling to answer the questions, go to the lab, ask questions in

lecture, or visit ofce hours to get help early, before you are stuck.

PCRS content and exercises will be released every Monday at noon.

Preparations for lecture will be due before that lecture on Mondays by 10:00 AM (7 days after

release).

Practice/Perform to reinforce that week's content will be due after the last lecture of each

week, on Sundays by 10:00 PM (13 days after release).

The Preparation, Practice, Perform on PCRS is worth a total of 15% of your nal grade - each

week's exercises will be worth 1.5%.

You are allowed to skip two weeks (i.e. your lowest two marks will be dropped).

Labs

This course consists of 5 bi-weekly labs that will take place during your PRA sessions (see the

calendar on Quercus for the exact dates), and will be run by your TAs . Each lab is worth 3% of

your nal mark and will mainly be graded based on your level of effort and creativity, as well as

completion and reasonable correctness.

Assignments

This course has 3 assignments, which are much larger than Labs and PCRS exercises. They

will combine multiple concepts indepth and comprehensively test your understanding of key

course concepts.

You must work by yourself on all the assignments.

Assignment handouts will be made available on the course website. Assignments must be

submitted by 11:59pm on the day due through MarkUs.

You may, and are encouraged, to submit your assignment as many times as you'd like (this will

help deter technical issues when submitting but also act as a repository of your progress on the

assignment). We mark the most recent submission (adhering to the deadline).

Final Exam

This course will have two practice tests and a nal exam, they will be distributed on Quercus in

the form of a "Quercus Quiz" and be entirely online . Additional details will be distributed in

lecture and on the discussion board . The practice tests and exam are comprehensive and take

place outside of lecture.

Practice Test 1: Will be available on Quercus starting from Friday, Feb 12

Practice Test 2: Will be available on Quercus starting from Friday, Mar 26

Final Exam: TBA by the Registrar's Ofce

The nal exam will also take place on Quercus as a timed quiz (2 hours). More information will

be announced closer to the exam date.

Note: You must achieve a minimum of 40% on the nal exam, failure to do so will result in a

maximum mark of 47 for the course.

Policy for Seeking Help

Read Announcements

You are responsible for reading all Quercus announcements made by your instructors. We may

provide clarications or additional information, when necessary, so it is your responsibility to

read the announcements carefully. It is also a good idea to periodically skim over your

classmates posts on Piazza.

Use Piazza over Email

Please post all of your questions about the course material and assignments on Piazza so that

everyone can benet from your questions . We will monitor the discussion board regularly, but

feel free to answer other studentsquestions too! Helping someone else learn is one of the most

effective ways of truly mastering a subject.

Piazza Rules

Please do not commit academic offences on the discussion board. Both when asking and

answering questions, you are not to post your solution (even partial code), nor your approach to

solving a problem . You may provide hints to guide someone in the right direction, but you are

not to discuss solutions or the ideas behind them with other students, as you are depriving them

of valuable steps in their learning process.

Email Policy

For personal questions or emergencies, please email the course co-ordinator from your UofT

address . Please include CSC108” in the subject line, and your full name and UTORid/student

number in the body of the email. Otherwise, your message might be marked as spam!

We will try to respond to email and discussion board postings by the end of the next business

day. However, it may take longer, especially near due dates . If you do not hear back quickly, we

are always available during ofce hours to help.

THINGS TO REMEMBER

1.   You must start working on assignments early, in case you have questions, as we may not

get back to you on time around the deadline when the discussion board is typically very

busy.

2.    Do not post parts of your solution code for exercises/assignments on the discussion board!

If you have a question that requires disclosing code, you can make your post on Piazza

PRIVATE (only instructors/TAs can see), or ask during a lab session or ofce hours.

Remark Requests

If you feel there was an error in the marking of an assignment, you may request a remark using

this form: https://forms.gle/fU73favrpeyvtfDE7

You must give a specic reason for the request, referring to a possible error or omission by the

marker. Please keep in mind that your grade may stay the same, may increase, or may even

decrease, after your remark request is assessed.

Remark requests MUST be received within one week of when the grade was released.

Policy for Missed Deadlines

Penalties for Lateness

No late assignments accepted.

I do provide a one hour grace period. After that, no exceptions will be made.

Missed PCRS Exercises

PCRS exercises are timed with the delivery of the lectures, extensions will not be provided for

these under any circumstance . Please note that you are allowed to miss two PCRS with no

penalty (the lowest two scores get dropped).

Missed Lab and Assignment

Contact the co-ordinator as early as possible (hopefully before the assignment due date) if you

feel as though you can't meet a deadline for a valid reason! Usually, if an extension is not

possible then the weight of that missed term work will be redistributed to other parts of the

course.

To request special consideration, do the following:

1.    Declare your absence on ACORN if you are ill

2.    Fill out this form: https://forms.gle/31KnkmDNPZbuMZvY8 and

3.   Email the course coordinator, letting them know you have lled out the form.

Exact accommodations will be determined on a case-by-case basis and will not be given

automatically . In other words, you risk getting a mark of zero for missed work unless you

contact your instructor promptly.

In case of an emergency that will cause you to miss a midterm or an assignment deadline,

please contact the course coordinator via email within 24 hours of the assignment deadline or

test date.

Missed Final Exam

Students who cannot complete their online nal examination due to illness or other serious

causes must le an online petition within 72 hours of the missed examination . Late petitions will

NOT be considered . Students must also record their absence on ACORN on the day of the

missed exam or by the day after at the latest . At this time, the university has temporarily

suspended the requirement to provide medical documentation if illness is cited as the reason for

a deferred exam request . Fees for deferred exam requests are also temporarily being waived

during this examination period.

Academic Integrity

Honesty and fairness are fundamental to the University of Torontos mission. Plagiarism is a

form of academic fraud and is treated very seriously. The work that you submit must be your

own and cannot contain anyone elses work or ideas without proper attribution . You are expected

to read the handout -- How not to plagiarize (http://www.writing .utoronto .ca/advice/using-

sources/how-not-to-plagiarize) and to be familiar with the Code of behaviour on academic

matters, which is linked from the UTM calendar under the link Codes and policies.

All of the work you submit must be done by you alone, and your work must not be submitted by

someone else . Plagiarism is academic fraud and is taken very seriously. The department uses

software that compares programs for evidence of similar code.

Please read the Rules and Regulations from the U of T Calendar (especially the Code of

Behaviour on Academic Matters).

Please don't cheat. It is unpleasant for everyone involved, including us. Here are a couple of

general guidelines to help you avoid plagiarism:

-   Never look at another student's assignment/lab/pcrs solution(s) . Never show another student

your assignment solution . This applies to all drafts of a solution and to incomplete and even

incorrect solutions .

-   Keep discussions with other students focused on concepts and examples . Never discuss

assignments before the due date with anyone but your Instructors and your TAs .

-   Do not discuss your solution publicly on the discussion board or publicly in the lab rooms/

ofce hours. (And never on online sites like Chegg, StackOverow, etc.)

NOTE: A series of plagiarism detection software and tools will be utilized to detect the

similarity of submissions in this course for the purpose of detecting plagiarism . All submitted

work in this course is subject to this verication.

Accessibility Needs

Students with diverse learning needs are welcome in this course. In particular, if you have a

disability/health consideration that may require accommodations, please feel free to approach

your instructor and/or Accessibility Services as soon as possible. Accessibility staff (located in

Room 2037, Davis Building) are available by appointment to assess specic needs, provide

referrals and arrange appropriate accommodations . Please call 905-569-4699 or email

[email protected] . The sooner you let us know your needs the quicker we can assist you

in achieving your learning goals in this course.

More information about course tools and topics will be posted on our course website as the term

progresses. Stay up to date by reading all announcements, posts, and website updates!