1 / 13

Principles of Programming Languages

Principles of Programming Languages. UMBC CMSC 331 03, Fall 2013. http://bit.ly/331f13. Staff. Tim Finin (FY nin) finin@umbc.edu http://umbc.edu/~finin/ 329 ITE, office hours: MW 2:30-3:30 TA Prachi Bora pbora1@umbc.edu ITE xxx, office hours: TBD Active assistants

Download Presentation

Principles of Programming Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Principles ofProgrammingLanguages UMBC CMSC 331 03, Fall 2013 http://bit.ly/331f13

  2. Staff • Tim Finin (FY nin) • finin@umbc.edu • http://umbc.edu/~finin/ • 329 ITE, office hours: MW 2:30-3:30 • TA • Prachi Bora • pbora1@umbc.edu • ITE xxx, office hours: TBD • Active assistants • Shari Kurland, Catherine Rossbach, Victoria Lentz

  3. Goals • Cover basic concepts underlying programming languages (syntax, semantics, families, …) • Study Scheme as an example of a functional programming language • Study Python as an example of a modern scripting language • Study an interpreter for Scheme in both Scheme and Python • Touch on other languages and concepts along the way

  4. Approach • Text has good coverage of the basics • Augmented with readings and videos from Web • Learn by doing: frequent homework (45%) • 7-8 assignments • Exams: midterm (20%), final (30%) • Discussions in class and online (5%) • Programming assignments must work on gl

  5. Expectations • Do the assignments • On your own • Hand them in on time • It’s better to hand it in late than not at all • Ask questions • And/or share thoughts • Dont be afraid to seek help • Take pride in your work, including your code

  6. Infrastructure • Website for schedule, notes, etc. • http://bit.ly/331f13 • Blackboard for grades • Piazza for Q&A, discussion • Programming assignments must work on gl.umbc.edu • If you use your own computer you’ll want to download and install • Racket (Scheme) • Python

  7. Need Help? • We are here to help you learn • Recommended procedure • Think • Check book, reading, notes • Check the online discussion forum • Ask Google or Bing • Ask the TA (email, office hours) • Ask the instructor (email, office hours)

  8. Questions • These are some questions for us to think about throughout the course • At best, they have subjective answers

  9. Questions How important is programming to CS? How important is the choice of language to a programming task? What’s the best PL? How many should I know? Why are new PLs constantly being invented? Why should I learn any of them? How will evolving computing hardware (cloud computing, quantum computers) change PLs? How long does it take to master a PL? What PLs should I know to get the best jobs?

  10. One more thing…

  11. One more thing… • We’ll be experimenting … • With finding better ways to teach • As part of Active Computing and InnoVation Environment (ACTIVE) project • Things we’ll probably try • Classroom flipping • In-class group projects • In class laptop labs • More interaction (e.g., device-free clickers)

More Related