01-intro

01-intro - CS 162 Programming Languages Ben Hardekopf...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 162 Programming Languages Ben Hardekopf Spring 2011 Ben Hardekopf () CS 162 Programming Languages Spring 2011 1 / 23
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Administrative Stuff Instructor: Prof. Ben Hardekopf Office Hour: W 3:30—4:30 (or by appointment) in HFH 1109 Website: www.cs.ucsb.edu/ ~ benh/cs162/ TA: Madhukar Kedlaya Office Hour: Th 3—4 (or by appointment) in Phelps 1410 Discussion Section: F 10–10:50 in GIRV 2112 See the class website for syllabus and course materials. This is also where assignments and lecture slides will be posted. Be sure to sign up for the class Google Group linked on the website. Grading : 15% participation, 85% assignments, no exams. Ben Hardekopf () CS 162 Programming Languages Spring 2011 2 / 23
Background image of page 2
Participation Grade During class (and maybe discussion section) we’ll often have in-class exercises to help you learn the material—I’ll introduce a topic, give an example, then have you try it on your own. You’ll turn these exercises in at the end of class, and this will count towards your participation grade. IMPORTANT : you are not graded on the contents of the exercise, only on whether you attempted the exercise. I don’t expect you to immediately understand and know how to apply the material. The purpose of the exercises is to give you a chance to cement your understanding while the material is fresh in your minds and ask questions while I’m there to clear things up. Ben Hardekopf () CS 162 Programming Languages Spring 2011 3 / 23
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Assignments We will study the concepts introduced in this course by implementing them in an interpreter. There will be a series of assignments that build on each other for this purpose. The implementations will use the programming language Scala —a JVM-based, object-oriented, functional language that is completely interoperable with Java at the bytecode level. Scala contains many of the language features we’ll be studying, so you will get experience using those features in practice as well as learning about them in theory See the material on the class website for more information about Scala. We’ll spend a little time teaching you the basics of the language, but you’ll also need to put some effort into it on your own Ben Hardekopf () CS 162 Programming Languages Spring 2011 4 / 23
Background image of page 4
About this Course This course is about understanding fundamental concepts in programming languages: how they work, what they’re good for, and the various trade-offs they entail. We will specifically focus on the following: Functional language concepts I Higher-order functions, closures, scope I Lazy and eager evaluation Type systems I Static and dynamic typing I Type checking and type inference Memory management I Explicit memory management I Garbage collection State and OOP I Mutable vs immutable state I Merging imperative and functional programming Ben Hardekopf () CS 162 Programming Languages Spring 2011 5 / 23
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Why Should You Care? Many of these concepts have been around a long time, but only recently
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 31

01-intro - CS 162 Programming Languages Ben Hardekopf...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online