Imperative Computation Sruti Bhagavatula, Iliano Cervesato - - PowerPoint PPT Presentation

imperative computation
SMART_READER_LITE
LIVE PREVIEW

Imperative Computation Sruti Bhagavatula, Iliano Cervesato - - PowerPoint PPT Presentation

15-122: Principles of Imperative Computation Sruti Bhagavatula, Iliano Cervesato https://cs.cmu.edu/~15122 Overview Goals of this course Interactions Lectures, practice sessions, office hours Assessment Homework (written,


slide-1
SLIDE 1

15-122: Principles of Imperative Computation

Sruti Bhagavatula, Iliano Cervesato https://cs.cmu.edu/~15122

slide-2
SLIDE 2

Overview

  • Goals of this course
  • Interactions

– Lectures, practice sessions, office hours

  • Assessment

– Homework (written, prog.), exams, practice sessions, participation

  • The course begins …
slide-3
SLIDE 3

Goals

Computational Thinking Programming Algorithms Technical Comprehension

slide-4
SLIDE 4

Programming Skills

  • Transforming algorithmic ideas into code

– Code that works the first time around

  • Deliberate programming

– … well, nearly the first time around

  • Writing tests
  • Imperative programming in C and C0
  • Basic Unix skills
slide-5
SLIDE 5

Algorithmic Ideas

  • Asymptotic complexity

– time/space – worst case/average case/amortized analysis – important classes: O(1), O(log n), O(n log n), O(nk), …

  • Important ideas like order and randomness
  • Lots of fundamental data structures

(Psst… this is often what tech interviews test on!)

slide-6
SLIDE 6

Computational Thinking

  • “Thinking like a computer scientist”

– Systematic approach to solving a problem – Finding solutions that are correct – Finding solutions that are efficient

  • Develop vocabulary and tool kit
slide-7
SLIDE 7

Technical Comprehension

  • Learning to read technical specifications is an

important skill you will be acquiring in this class

– Problem statements will get longer – Dots to be connected will be further apart

+ You will become more confident + You will try more things on your own

slide-8
SLIDE 8

Overview

  • Goals of this course
  • Interactions

– Lectures, practice sessions, office hours

  • Assessment

– Homework, exams, practice sessions, participation

  • The course begins …
slide-9
SLIDE 9

Summer 15-122 is intense!

  • 15 weeks of material in 6 weeks
  • 4 homework assignments a week
  • 3 exams
  • Allocate at least 30 hours a week
  • Manage your time well
slide-10
SLIDE 10

Synchronous participation

  • Class interactions all in real-time

– see registrar’s email

  • No recordings or make-up sessions
  • If this doesn’t work, take 15-122 in the fall or

spring

slide-11
SLIDE 11

Lectures

  • Every weekday from 10:30-11:50am
  • Please be here, please be active

– Ask and answer questions, pay attention – Lecture notes for review – A few online modules (optional)

slide-12
SLIDE 12

Practice sessions

  • Every weekday from 3-4:20pm
  • Programming exercises and review & written

exercises

  • Collaborative problem solving

– Help others if you are done early!

slide-13
SLIDE 13

Getting-started help

  • Laptop setup office hours

– Today 4:30 to 6:30pm, zoom – Set up using the C0 tools with Andrew Linux – Format: drop in for half an hour

  • or do it yourself:

http://c0.typesafety.net/tutorial/C0-at-CMU.html

  • Linux workshops
  • Tuesday 30 Jun, 4:30 to 6:30pm, zoom
  • Thursday 2 July, 4:30 to 6:30pm, zoom

– Learn useful Linux commands

slide-14
SLIDE 14

Online resources

  • Course home page

– http://cs.cmu.edu/~15122 – Schedule, calendar, contact info… – Lecture notes, slides, OLI modules – Links to all resources

  • C0 home page

– http://c0.typesafety.net/ – Tutorial, reference, examples, binaries

slide-15
SLIDE 15

Online communication

  • Diderot for course material, exams,

announcements, questions, and communication with course staff

– Get help, help each other!

  • Autolab and Gradescope for homework
  • Grades from web page
slide-16
SLIDE 16

Help through the semester

  • Office hours

– Calendar on course web page

  • Office of Academic Development support

– Supplemental Instruction:

  • Sundays/Thursdays starting July 5

– Peer Tutoring: TBA

slide-17
SLIDE 17

Overview

  • Goals of this course
  • Interactions

– Lectures, recitations, office hours

  • Assessment

– Homework, exams, practice sessions, participation

  • The course begins …
slide-18
SLIDE 18

Assessment

  • 50% - Exams (2 midterms and a final)
  • 45% - Weekly Homework

– Written due Mon/Fri by 3pm through Gradescope

  • No late days
  • ∞ submissions

– Programming due Wed/Sat 9pm through Autolab

  • Download assignments and code from Autolab or

Diderot

  • 2 late days, at most 1 per homework
  • No extensions
  • 5% - Practice sessions and in-class exercises

Written 1 already 0ut. Due this Wednesday

slide-19
SLIDE 19

Academic integrity

  • Homework and exams must be your own
  • NO collaboration outside of practice sessions
  • OK: discussing course material, practice

problems, study sessions, going over handed- back homework in groups If you make a mistake, come to us, don’t let us come to you

slide-20
SLIDE 20

How to do well in this course

  • Do not stress over grades
  • Participate
  • Manage your time wisely

– Don’t use late days in 1st half of course

  • Start homework early
  • Get all the help you need

– ask for help, tell us when you’re having trouble

  • Make time for fun
slide-21
SLIDE 21

Overview

  • Goals of this course
  • Interactions

– Lectures, practice sessions, office hours

  • Assessment

– Homework, exams, practice sessions, participation

  • The course begins …