CSC108H: Introduction to Computer Programming Welcome to CSC 108! Class will begin at 10 minutes past the hour CSC108H: Introduction to Computer Programming CSC108H: Introduction to Computer Programming Jacqueline Smith - Course Coordinator (jsmith@cs.toronto.edu) Eyal de Lara (delara@cs.toronto.edu) Paul Gries (pgries@cs.toronto.edu) CSC108H: Introduction to Computer Programming About Me • I’m an “Assistant Professor” in the “Teaching Stream” • What to call me: Jacqueline, Professor Smith, hey you • What not to call me: Jackie, “Miss”, Dr Smith, Bro, @%!$& • Been at U of T since July 2015, University of Alberta before that • Started my undergrad in humanities, switched after a course like this • My first language was C++, then Java (Python is way better to learn!) • Things I like: running, cooking, gardening • Things I love: my cat CSC108H: Introduction to Computer Programming The Chairman CSC108H: Introduction to Computer Programming About You Every year we teach ~2000 students in CSC 108. Here are some of the things we’ve learned from them: • Varying levels of programming experience, but no experience is ok! - CSC108 assumes you have never programmed before • Students do better in an inverted classroom - we’ll tell you more about that later • Regular, shorter practice > long programming/cram sessions - hence weekly exercises to keep you on track CSC108H: Introduction to Computer Programming About You - Survey Results From the Welcome survey you filled out over the weekend: • 53% of you are new to Toronto • Almost 70% of you are new to UofT (welcome!) • About half the class are taking this course for a program other than CS, or as an elective • By far the most common theme of what you were most worried about was lack of prior experience CSC108H: Introduction to Computer Programming About You - Survey Results From the Welcome survey you filled out over the weekend: CSC108H: Introduction to Computer Programming About You Turn to your neighbour (or neighbours) and find out… • what other courses they are taking this term • their best tip for life on campus (food, student discounts, etc) • what kind of study strategies they plan to use for CSC 108 (and future CS courses) CSC108H: Introduction to Computer Programming About the Course Teaches the basics of programming in Python Is intended for students with no programming experience 3 lecture hours per week (L9901 is fully online, except the final exam, so there are no lectures for that section.) CSC108H: Introduction to Computer Programming We assume that students in CSC108 have never programmed before! Classroom rule: when the instructor poses a question, if you knew the answer before taking this course, do not answer the question. CSC108H: Introduction to Computer Programming What’s CSC108H about? At the end of this course, you will know most instructions be able to take human problems and write Python programs that solve them have a sense of what computer scientists do CSC108H: Introduction to Computer Programming “U of T’s best program remains computer science, which landed in 10th spot among some of the best universities in the world.” - Toronto Star CSC108H: Introduction to Computer Programming Outstanding Research “Raptor ball according to computer scientist Richard Zemel” “U of T spinoff company launches tiny, smarter keyboard” “Google acquires U of T neural networks company” “Bianca Schroeder: creating more efficient, reliable data centres” CSC108H: Introduction to Computer Programming Outstanding Teaching “Celebrating great teaching at U of T” "Engaged students, higher marks on finals: benefits of the inverted classroom" “Top U of T teachers recognized by president, provost” CSC108H: Introduction to Computer Programming Outstanding Students “Undergrad research opportunities: designing video games, challenging seniors” “Ingenuity and endurance at UofTHacks’ marathon” http://uofthacks.com http://cssu.cdf.toronto.edu/ @UofTHacks Computer Science Student Union @cssu UofT Hacks CSC108H: Introduction to Computer Programming Syllabus + Course Website The syllabus has all the key administrative details. The course website is here: http://www.teach.cs.toronto.edu/~csc108h/fall/ Both are required reading. CSC108H: Introduction to Computer Programming Coursework Overview (On-Campus) Work Weight Comment Prepare Exercises (11) 5% Watch videos and complete problems. At start of Weeks 2-12. 0.5% each, best 10 of 11 weeks. Perform Exercises (10) 9% By end of Weeks 2-5, 7-121% each, best 9 of 10 weeks. Assignments (3) 21% A1: 5% (on own) A2: 8% (one partner allowed) A3: 8% (one partner allowed) Midterm Test 15% During lecture time, but in a different room. Final Exam 50% You must get ≥ 40% on the final exam to pass CSC108! CSC108H: Introduction to Computer Programming Inverted Classroom Prepare: watch lecture videos and complete an exercise. Rehearse: apply the concepts covered in the lecture videos by completing activities of various kinds and working through more complex examples with the support of your instructor and TAs. Perform: demonstrate your understanding of the material by completing an exercise. Prepare Rehearse Perform Due Sundays by 9pm Completed online Completed in lecture Due Friday by 6pm Completed online CSC108H: Introduction to Computer Programming PCRS The weekly Prepare and Perform coursework will be completed using an online tool called the PCRS (Programming Course Resource System). You will login to the PCRS using your UTORid and password. Each week: •Prepare - released Thursdays at noon, due Sundays at 9pm •Perform - released Saturdays at noon, due Fridays at 6pm •You have as many attempts as you want, whatever your final answer is at the due date is what your mark is based on •After the due date, you can repeat the exercises for practice CSC108H: Introduction to Computer Programming Assignments Due on Tuesdays before 9:00 pm (sharp) Handouts will be posted on course website. Submitted electronically using MarkUs Assignment 1 must be completed individually. Assignments 2 and 3 solo or with a partner: Pick anyone in any of the five St. George campus lecture sections. Lecture and the discussion boards are great for meeting people. Late Policy: 1 hour grace period, then 5% per hour for the next 5 hours, 15% per hour for any additional hour CSC108H: Introduction to Computer Programming No other late coursework accepted No other late assignments will be accepted. No late exercises will be accepted. If you can’t finish an assignment, you can earn part marks for a good partial solution. Of course, illness and other emergencies are another matter; contact the Course Coordinator as soon as possible if you run into this sort of trouble. CSC108H: Introduction to Computer Programming Midterm Test During lecture time Location will be posted on the course website No partners for tests! CSC108H: Introduction to Computer Programming Final Exam Scheduled by the Faculty of Arts and Science Exam schedule will be posted here: http://www.artsci.utoronto.ca/current/undergraduate/exams We can’t change it or allow you to write it at a different time! All exceptions must be handled through Office of the Faculty Registrar: we can’t set a makeup exam, we can’t waive it for you. CSC108H: Introduction to Computer Programming Doing Your Work Our labs: CS Teaching Labs Bahen Centre for Information Technology: BA3175, BA3185, BA3195, BA3200, BA2200, BA2210, BA2220, BA2240,BA2270 You have 24/7 access using your T-card to these rooms (with some exceptions). Use your Teaching Labs username to log into the lab computers: http://www.teach.cs.toronto.edu/resources/cdf_username_lookup.html CSC108H: Introduction to Computer Programming Laptops •You do not need a laptop for this course •We will provide materials for you to work on every class - all you need is a pencil or pen • Even if you have a laptop and plan to do your coursework on it, we encourage you to work on paper during class • Exams are written on paper •Writing on paper helps you better understand your code •You can use a laptop in class, but be respectful of those around you CSC108H: Introduction to Computer Programming Working on your own computer You can install Python 3 (not 2!) on your own computer. You can also install Wing IDE 101, the application we’ll use to write Python programs. Instructions for both are on the course website. CSC108H: Introduction to Computer Programming Getting Help Don’t spin your wheels, ask for help! Instructor Office Hours (two formats: in person and online) 108 Office Hours (usually in BA 2230) First Year Course Office Hours (also BA 2230) CSC Help Centre (also BA 2230) Textbook Piazza (online discussion forum) The schedule is posted here: http://www.teach.cs.toronto.edu/~csc108h/fall/gethelp.shtml CSC108H: Introduction to Computer Programming Office Hours and CSC Help Centre Drop by the 108 and First Year Office Hours to get help with the current exercise, assignment, or general course topics. This should be the first place you go for exercise help. Exercise-related questions have priority over other questions, but feel free to ask for help with other course material, and the TA will help if they can. There is also a general CSC Help Centre M-Th 4-6pm (starts week 2) Anyone in any CSC class can go ask questions. Warning: it gets busy! CSC108H: Introduction to Computer Programming Office Hours and CSC Help Centre •Most office hours will begin in Week 2 - check the calendar for times and locations •This week, there will be some TA office hours to help you get Python3 and Wing101 installed on your own computer •Again, you can find the times and location on the calendar on the course website CSC108H: Introduction to Computer Programming Textbook Be sure to get the 2nd edition! eBook: $25 USD Formats: PDF, ePub, mobi If you buy the eBook, you can have it right away. http://pragprog.com/book/gwpy2/ practical-programming Paper version: ~$45 CAD Sold at UofT bookstore, amazon.ca, etc. CSC108H: Introduction to Computer Programming Discussion Forums: Piazza Discussion forums are available for you to post questions about the course material. Ask questions if you’re confused! Provide answers if you know them! Please don’t post solutions (or partial solutions or incorrect solutions) about any coursework until after the due date. Even then, ask your instructor first! piazza.com/utoronto.ca/fall2016/csc108h CSC108H: Introduction to Computer Programming Email It really, really helps us if you start email subjects with “108: ” Please read announcements on Blackboard before sending email Use a good subject, such as “108: missing test with doctors note” Sign your full name and include your student number. (There are hundreds of you and some even have the same name!) CSC108H: Introduction to Computer Programming Academic Offenses All of the work you submit must be your own… Not the work of another student from this term, a student from a previous term, a friend, a tutor, an online source, etc… … and your work must not be submitted by someone else (except your assignment partner) The department uses software that compares programs for evidence of similar code CSC108H: Introduction to Computer Programming How to be good To avoid plagiarism: Never look at another assignment solution - this includes going looking for one online! Never show another team your work Applies even to drafts and to incomplete solutions Discuss how to solve an assignment only with the Help Centre TAs, the office hour TAs, and the course instructors CSC108H: Introduction to Computer Programming Expectations of Me •Be organized in my lectures •Post all electronic materials from lecture on the course website •Provide resources for help (instructor & TA office hours, discussion forum, etc) •Be respectful of you, your time, and your questions •Do my best to make lectures clear and interesting •Will try to keep up with emails… CSC108H: Introduction to Computer Programming Expectations of You •Be respectful of me, TAs, and other teaching staff •Be respectful of your classmates and their learning (laptops!) •Try exercises first … •… but ask for help as soon as you need it - don’t isolate yourself from the course •Keep up with course resources: website, syllabus, announcements, etc •Don’t cheat/copy/plagiarize •Laugh at all my jokes CSC108H: Introduction to Computer Programming Tips for Success in 108 • Make good use of your class time - worksheets are to help you learn! • Ask instructor or TAs… that’s what we’re here for! • Take advantage of office hours and the Help Centre • Ask for help as soon as you get stuck • Instructor or TAs in class • Office hours/ Help Centre • Practice! Try things out, see if they work or not. CSC108H: Introduction to Computer Programming What to do by 9pm Sunday 1. Read the syllabus 2. Bookmark the course website 3. Log in to Blackboard portal 4. If you plan to use your own computer, install Python 3 & Wing 101 •Instructions can be found on the course website under “Software Installation” •For help with software installation, visit Office Hours (hours on course website) 5. Complete the Week 1 Prepare & Perform Exercises (for practice) 6. Complete the Week 2 Prepare exercise on the PCRS (for marks, available by Thursday 15 September at noon, due Sunday 18 September by 9pm) CSC108H: Introduction to Computer Programming You made it! Welcome to first-year computer science at U of T! Join us to meet with faculty and students, where we will answer frequently asked questions about CS courses and programs. Learn about opportunities to take your undergrad experience up a notch by getting involved in clubs, hackathons, research, and more. FIRST-YEAR ORIENTATION Monday, September 12, 2016 11:00 AM to 1:00 PM - Drop in event BA3200