COMP 250. Introduction to Computer Science. Fall Instructor: Prof. Michael Langer

Similar documents
We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

Data Structures and Algorithms

WSU Five-Year Program Review Self-Study Cover Page

CSCI 333 Java Language Programming Fall 2017 INSTRUCTOR INFORMATION COURSE INFORMATION

CS Course Missive

GACE Computer Science Assessment Test at a Glance

Course Content Concepts

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Computer Science (CS)

CS 101 Computer Science I Fall Instructor Muller. Syllabus

B.S/M.A in Mathematics

Undergraduate Program Guide. Bachelor of Science. Computer Science DEPARTMENT OF COMPUTER SCIENCE and ENGINEERING

Common Course Numbering: Foundations Courses

CS 100: Principles of Computing

(Sub)Gradient Descent

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Computer Organization I (Tietokoneen toiminta)

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

PHILOSOPHY & CULTURE Syllabus

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Firms and Markets Saturdays Summer I 2014

Statistics and Data Analytics Minor

CS Machine Learning

Self Study Report Computer Science

School of Innovative Technologies and Engineering

Cie Dfw Math Comp Download or Read Online ebook cie dfw math comp in PDF Format From The Best User Guide Database

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

STANDARDIZED COURSE SYLLABUS

The University of Winnipeg Recognition of Prior Learning (RPL) Undergraduate Degree Credits

Purdue Data Summit Communication of Big Data Analytics. New SAT Predictive Validity Case Study

Lahore University of Management Sciences. FINN 321 Econometrics Fall Semester 2017

PowerCampus Self-Service Student Guide. Release 8.4

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Introduction to Forensic Drug Chemistry

MTH 141 Calculus 1 Syllabus Spring 2017

EDINA SENIOR HIGH SCHOOL Registration Class of 2020

Office Hours: Mon & Fri 10:00-12:00. Course Description

Design and Creation of Games GAME

1. Faculty responsible for teaching those courses for which a test is being used as a placement tool.

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

CS 3516: Computer Networks

Introduction to CS 100 Overview of UK. CS September 2015

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Comp Eng Aug 12 Answer Key

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

Mathematics. Mathematics

Course Syllabus for Math

Course Description. Student Learning Outcomes

Guide to Teaching Computer Science

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

MAT 122 Intermediate Algebra Syllabus Summer 2016

Academic Catalog Programs & Courses Manchester Community College

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

Revised on Common Course Number Data Sheet 221 Course Identification. Campus Course Attribute. Prerequisite Text Min.

Computer Science 1015F ~ 2016 ~ Notes to Students

Computer Science 141: Computing Hardware Course Information Fall 2012

Using Task Context to Improve Programmer Productivity

95723 Managing Disruptive Technologies

Advanced Multiprocessor Programming

Computer Science Self-Study Report for APC Review Fall 2007

Foothill College Summer 2016

Python Machine Learning

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

GRADUATE STUDENT HANDBOOK Master of Science Programs in Biostatistics

TREATMENT OF SMC COURSEWORK FOR STUDENTS WITHOUT AN ASSOCIATE OF ARTS

TU-E2090 Research Assignment in Operations Management and Services

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

Android App Development for Beginners

Math 96: Intermediate Algebra in Context

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

CHANCERY SMS 5.0 STUDENT SCHEDULING

Dr. Zhang Fall 12 Public Speaking 1. Required Text: Hamilton, G. (2010). Public speaking for college and careers (9th Ed.). New York: McGraw- Hill.

General Microbiology (BIOL ) Course Syllabus

Software Development: Programming Paradigms (SCQF level 8)

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

BENCHMARK MA.8.A.6.1. Reporting Category

MATH 108 Intermediate Algebra (online) 4 Credits Fall 2008

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

COVER SHEET. This is the author version of article published as:

Dublin City Schools Career and College Ready Academies FAQ. General

Nutrition 10 Contemporary Nutrition WINTER 2016

On-Line Data Analytics

Math 098 Intermediate Algebra Spring 2018

Learning Object-Oriented Programming in Python: Towards an Inventory of Difficulties and Testing Pitfalls

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

ANCIENT GREEK HISTORY MWF 8:30-9:20 Main 326. Frances B. Titchener Main 310 (435)

Phone: Office Hours: 10:00-11:30 a.m. Mondays & Wednesdays

MATH Study Skills Workshop

UPDATES. Bronco Bookstore. Spring 2015

Get with the Channel Partner Program

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown


Texas A&M University-Central Texas CISK Comprehensive Networking C_SK Computer Networks Monday/Wednesday 5.

Course Specifications

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

APPLICATION PROCEDURES

Transcription:

COMP 250 Introduction to Computer Science Fall 2017 Instructor: Prof. Michael Langer 1

My personal web page: http://www.cim.mcgill.ca/~langer/ 2

My public COMP 250 web page G-10? 3

Welcome! There are 650 of you enrolled in the two sections. Sec. 001: 450 chairs in McMED 522 (MWF 10:35-11:25) Sec. 002: 190 chairs in MDHAR 310 (MRF 14:35-15:25) I will treat the two sections as one course. (More on this issue later ) 4

Who are you (degree)? B. Arts B. Arts & Sci B. Com B. Sci B. Soft. Eng. B. Eng 110 15 25 260 35 175 650 5

Who are you (year)? U0 U1 new U1 returning U2 U3 other 25 80 170 230 130 5 640 6

Who are you (year)? U0 U1 new U1 returning U2 U3 other 25 80 170 230 switch 130 $ 5 640 7

COMP 250: overview Preliminaries (grade school algorithms, binary numbers, Eclipse) Data Structures 1 (lists: array lists, linked lists, stacks and queues) 8

COMP 250: overview Preliminaries (grade school algorithms, binary numbers, Eclipse) Data Structures 1 (lists: array lists, linked lists, stacks and queues) Induction and Recursion (recursive algorithms for lists e.g. searching and sorting) Mathematical Tools for Analysis of Algorithms (recurrences, asymptotic complexity and big O ) 9

COMP 250: overview Preliminaries (grade school algorithms, binary numbers, Eclipse) Data Structures 1 (lists: array lists, linked lists, stacks and queues) Induction and Recursion (recursive algorithms for lists e.g. searching and sorting) Mathematical Tools for Analysis of Algorithms (recurrences, asymptotic complexity and big O ) Data Structures 2 (trees, binary search trees, heaps, graphs, hash tables) Object Oriented Design in Java (inheritance, polymorphism) 10

https://www.mcgill.ca/study/2017-2018/courses/comp-250 COMP 250 uses the Java programming language. 11

What is your programming background? 12

So, 85% of you know how to code in Java (COMP 202 or equivalent -- ECSE 202 is fine too) 13

6% of you know how to code in C (or C++) (COMP 208) You have a lot work to do in next two weeks: you need to learn about objects and classes in Java. (C++ is object oriented, so you are in better shape.) 14

7% of you know how to code in Python, Javascript, R, Matlab, but not Java or C You need to spend 40 (?) hours in the next 2 weeks learning Java: types (primitive vs. reference) objects and classes Otherwise, (1) take COMP 202 instead or (2) spend some time in Fall learning Java on your own. Then take COMP 250 in Winter. 15

How to learn Java in 2 weeks? Resources suggested on the Course Outline: See COMP 202 content (topics, slides) http://www.cs.mcgill.ca/~cs202/2016-01/web/sec2.html online tutorials free book: How to think like a computer scientist books from library Don t just read. Code! Do exercises. 16

Math Prerequisites CEGEP level math (Cal 1) 17

Unofficial coreq MATH courses CS Major/Minor MATH 240 Discrete Structures 1 B. Eng & B. SoftEng Joint Math/CS programs: MATH 235 Algebra I One of these courses is the official co-requisite for COMP 251 Algorithms and Data Structures. I advise you to it before COMP 251. 18

The Big Picture: COMP@McGill 202 Intro Java Programming MATH (prereqs for many upper level COMP courses) 206 Software Sys 250 Intro CompSci 240 Disc. Str. 1 223 Linear Alg. 222 Cal III 323 Prob. 273 Comp. Sys. 303 Software Design 302 Program Lang 251 Data Str & Alg 350 Num. Meth 310 Oper. Sys. 421 Databases 424 Artif. Intel. 360 Alg. Design 330 Theory Comp. SYSTEMS (compilers, networks, distributed sys, concurrency, web,..) APPLICATIONS (graphics, vision, bioinf, games, machine learning..) THEORY (crypto, optimization, game theory, logic, correctness, computability..) 19

COMP 250 + COMP 206 + COMP 273? Only if you have a lot of programming experience already. If you take just two, do 250 and 206. 20

COMP 250 Resources public web page http://www.cim.mcgill.ca/~langer/250.html Course Outline lecture notes slides exercises MyCourses/250 announcements (you need to subscribe) lecture recordings discussion boards submit assignments quizzes grade book 21

Office hours MWR 1-2 pm (Mon, Wed, Thurs) by appointment (send me email) quick questions by email (if question is of general interest then I will ask you to post on mycourses discussion board) 22

CSUS Helpdesk HOURS: 12pm - 5pm (Mon-Fri) LOCATION: Trottier 3090 WHO ARE WE? WHAT DO WE DO? U2 and U3 students who have taken this course and want to help you! We are a FREE drop-in tutoring service, perfect for study help, and guidance on assignments. We provide review sessions for midterms and finals for intro courses!

Evaluation (your grade) 4 x 10% Assignments Java programming 10 % Six Quizzes (on mycourses, not during class) Details/dates to be announced (first time I do this ) 50 % Final Exam (multiple choice) 24

Assignments: collaboration vs. cheating clarification Q s on mycourses Discussion Board hands on helping your peers to debug code x posting key ideas on mycourses (or facebook) x sharing code 25

Quizzes On mycourses, multiple choice, graded automatically. Do them on your own. They are worth only 10% of your grade. They are mainly there as: an incentive for you to keep up with the course a way for you to gauge how you are doing a way to practice for the final exam 26

How much work can you expect? Faculty of Science suggests a 3 credit should require 9 hours work per week: 13 weeks * 9 hours/credit/week = 117 hours total So, 5 courses implies ~45 hours per week. 4 courses implies ~36 hours per week. 27

How much work can you expect? Lectures (~40 hours) Quiz/Exam study, Exercises (~40 hours) Assignments (~40 hours = 4 x 10) That is my guesstimate for a B grade for a B student. 28

Two Sections or One? Sec. 001: 450 seats in McMED 522 (MWF 10:35-11:25) Sec. 002: 190 seats in MDHAR 310 (MRF 14:35-15:25) Lectures will be recorded. I will treat the two sections as one course. If the majority of you choose not to attend the lectures, then I will use one section (probably Sec 002 MRF 14:35-15:25) for tutorials rather than give an identical lecture. 29

COMP 206 and the 15 minute uphill walk for Sec. 001 COMP 206: Sec. 001: ADAMS AUD (MWF 9:35-10:25) Sec. 002: MAAS 10 (MWF 10:35-11:25) COMP 250: Sec. 001: McMED 522 (MWF 10:35-11:25) Sec. 002: MDHAR 310 (MRF 14:35-15:25) 30

Your TODO list Review/learn Java (COMP 202) Assignment 1 will be posted in ~2 weeks. Learn how to use IDE for Java e.g. Eclipse (or NetBeans or IntelliJ or some other, but not DrJava) In class tutorial for Eclipse next week (probably Wed/Thurs) INSTALL and run Eclipse beforehand https://www.eclipse.org/home/ Subscribe to mycourses: Announcements, Discussions. 31

Subscribe to Announcements and Discussion Board DROP DOWN 32