20
CSCA08 Winter 2018 Week 1: Algorithms Marzieh Ahmadzadeh, Brian Harrington University of Toronto Scarborough

CSCA08 Winter 2018 Week 1: Algorithms - University of … · 2018-01-12 · CSCA08 Winter 2018 Week 1: Algorithms ... • Adding two numbers ... • To represent your algorithm, you

  • Upload
    buinhan

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

CSCA08 Winter 2018Week 1: Algorithms

Marzieh Ahmadzadeh, Brian Harrington

University of Toronto Scarborough

Welcome

2

Course Structure Break Algorithms

• What is this course about?• Problem solving (i.e. designing algorithms)

• Representing the solution using a programming language (i.e. python)

• Outcome: • You should be able to solve almost any given programming problem.

• Course website:• https://mathlab.utsc.utoronto.ca/courses/csca08/

• Link to lecture notes, assignments, exercises, Piazza, Markus, announcement, course syllabus etc.

Who are we?

3

Course Structure Break Algorithms

• Marzieh Ahmadzadeh• [email protected] • BSc in Software Engineering • MSc & PhD Nottingham University, UK• Worked as a software engineer for 4 years and 11 years in academia• Office: IC468 • Office Hours: Mondays 3-4 & Wednesdays 2-3

• Brian Harrington• [email protected]• BSc. University of Toronto Scarborough• MSc & D.Phil University of Oxford• Teaching at UTSC since 2012• Office: IC342• Office Hours: Thursdays 1-3

Means of Communications

4

Course Structure Break Algorithms

• Piazza• First point of contact• For any question about weekly assignments, technical problems or anything that

peers or TAs can answer.• But not for major assignments

• Link in course website• If you registered for the course but not in Piazza, drop me an email with your utorid,

name and student number

• Be respectful • You may be anonymous for your peers but not for instructors.

Means of Communications

5

Course Structure Break Algorithms

• Tutorials• To practice what you have learnt• To learn new materials• Smaller group of people• Pop up quizzes • Once a week

• Attend one tutorial only

• No tutorial this week.

• Practicals• To practice even more• Drop-in sessions• Attend as many sessions as you’d like• No practical this week.• Time & location will be announced later.

• Office hours

Lectures

6

Course Structure Break Algorithms

• 2 hour traditional lecture, one hour inverted lecture• No inverted lecture this week.

• Lecture slides will be posted on course webpage

• Attendance is strongly recommended• The usefulness of slides is similar to having some (but not all) of the

ingredients of a Pizza without a dough

• Important announcement will be made

Textbook

7

Course Structure Break Algorithms

• No textbook for this course

• But still plenty of readings

Assessment

8

Course Structure Break Algorithms

Assessment Weight Comment

Midterm* 25% Written Exam. Two tests.

Final* 40% Comprehensive written exam.

Assignments 20% 3 Assignments.

Weekly Exercises 10% 10 Assignments. Equal weight.

Inverted Lecture 5% 10 Assignments. Equal weight.

* To pass the course, you must earn at least 50% of the total of midterm and final.

Important Dates

9

Course Structure Break Algorithms

Uploaded DateDeadline

Date Time

Wee

kly

Exer

cise

s

1 12-Jan 20-Jan 11:30 PM

2 19-Jan 27-Jan 11:30 PM

3 26-Jan 3-Feb 11:30 PM

4 2-Feb 10-Feb 11:30 PM

5 9-Feb 17-Feb 11:30 PM

6 16-Feb 24-Feb 11:30 PM

7 2-Mar 10-Mar 11:30 PM

8 9-Mar 17-Mar 11:30 PM

9 16-Mar 24-Mar 11:30 PM

10 23-Mar 31-Mar 11:30 PM

Assignment 1 2-Feb 18-Feb 11:30 PM

Assignment 2 23-Feb 11-Mar 11:30 PM

Assignment 3 16-Mar 1-Apr 11:30 PM

Midterm 1 TBA

Midterm 2 TBA

Final TBA

Collaboration

10

Course Structure Break Algorithms

• Exercises are there to help you learn:• So I do encourage you to collaborate on exercises however everyone should

submit their own version.

• Assignments are there to evaluate you: • So NO collaboration on assignments are accepted.

• Plagiarism detectors will catch you!

Late submission

11

Course Structure Break Algorithms

• No late submission for exercises is accepted.

• Late submission for assignments are accepted if you have legitimate reason such as medical emergency.• Email me asap before the deadline with illness verification form.

Missed midterm

12

Course Structure Break Algorithms

• If a midterm is missed for legitimate reason1. Provide the document such as illness verification form

2. If accepted, your final exam will replace your missed midterm.

Academic Integrity

13

Course Structure Break Algorithms

• Plagiarism - Using the words or ideas of another person without citing the source.

• Unauthorized Aids - Using unauthorized aids, which could be considered cheating on tests and exams.

• Unauthorized Assistance - Having someone else do the work for you.

• Forgery or falsification - Making a false statement, presenting a false document or signing someone else’s name on a document required by the University.

• Personation - Having someone else write an exam for you or writing an exam for someone else.

• Self- Plagiarism - Submitting work for credit in a course when you have submitted it in another course

AccessAbility

14

Course Structure Break Algorithms

• Diverse learning styles

• disability/health consideration that may require accommodations

• Feel free to approach me and/or the AccessAbility Services ASAP.

• AccessAbility Services: • Room SW302 • 416-287-7560 • [email protected].

• The sooner you let us know your needs the quicker we can assist you in achieving your learning goals in this course

How to succeed in this course

15

Course Structure Break Algorithms

• Practice, practice & practice• Do not give up easily• Do not just read

• Stop, think, and do it yourself• Use pen & paper

• Have a rest if you encounter a problem and come back later• Try to break the code

• You should run every single code of the book.

• Do pair programming• Of course not for assignments

• Ask questions!

Break

16

Course Structure Break Algorithms

What is Computer Science?

17

Course Structure Break Algorithms

• Is all about algorithms

• Algorithms: • A set of instructions

• That can be followed one step after another

• Your job in this course is to design algorithms• This course is not about python

Why algorithms?

18

Course Structure Break Algorithms

• Computers are STUPID.

• They can follow very simple instruction very fast.

• So if you have a big problem in hand you need to “BREAK IT DOWN” for computers to understand it. • Cooking recipe

• Adding two numbers

• Decide to take umbrella if it is rainy

• IKEA assembly instruction (a perfect example)

Algorithm to Code

19

Course Structure Break Algorithms

• Every Algorithm has 3 steps:• Input, Process and Output• To represent your algorithm, you use pseudocode or flowchart

• Computers can only understand 0s and 1s • But it is extremely difficult to translate your algorithm to a series of 0 or 1 that

computer understand.• So we use a programming language (i.e. a set of instruction) to create a code (or a

program)• e.g. Python, Java, C, C++

• This programming language itself needs to be translated to a sequence of 0s and 1s

Execution

20

Course Structure Break Algorithms

• The next step is to translate your code for execution• Compiler or Interpreter

• Pyhton has an interpreter

• If your code is error free you’ll see the output.

• Types of Errors:• Syntax

• Semantic

• Runtime (aka exception)