imperative computation

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,


  1. 15-122: Principles of Imperative Computation Sruti Bhagavatula, Iliano Cervesato https://cs.cmu.edu/~15122

  2. Overview • Goals of this course • Interactions – Lectures, practice sessions, office hours • Assessment – Homework (written, prog.), exams, practice sessions, participation • The course begins …

  3. Goals Computational Thinking Algorithms Programming Technical Comprehension

  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

  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(n k ), … • Important ideas like order and randomness • Lots of fundamental data structures (Psst … this is often what tech interviews test on!)

  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

  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

  8. Overview • Goals of this course • Interactions – Lectures, practice sessions, office hours • Assessment – Homework, exams, practice sessions, participation • The course begins …

  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

  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

  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)

  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!

  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

  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

  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

  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

  17. Overview • Goals of this course • Interactions – Lectures, recitations, office hours • Assessment – Homework, exams, practice sessions, participation • The course begins …

  18. Assessment • 50% - Exams (2 midterms and a final) Written 1 already 0ut. Due this Wednesday • 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

  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

  20. How to do well in this course • Do not stress over grades • Participate • Manage your time wisely – Don’t use late days in 1 st half of cours e • Start homework early • Get all the help you need – ask for help, tell us when you’re having trouble • Make time for fun

  21. Overview • Goals of this course • Interactions – Lectures, practice sessions, office hours • Assessment – Homework, exams, practice sessions, participation • The course begins …

Recommend


More recommend