Principles of Programming Languages UMBC CMSC 331 03, Fall 2013

Slides:



Advertisements
Similar presentations
ACADEMIC INTEGRITY STUDENT RIGHTS AND RESPONSIBILITIES August 20, 2014 Material developed by Tim Korb, Peter Hirst, and Jeff Stefancic.
Advertisements

CPT S 317: Automata and Formal Languages
The Case of the Keystroke Logger Presented by Michael Votava, Director of Student Conduct & Ethical Development February 21, 2014.
Lecture 1: Overview CMSC 201 Computer Science 1 (Prof. Chang version)
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Principles of Programming Languages CMSC 331, Fall 2011
CS 150 PERSONAL PRODUCTIVITY USING TECHNOLOGY Instructor: Dr. Xenia Mountrouidou.
PLEASE GRAB A SEAT ANYWHERE FOR NOW. Welcome to the CMSC 201 Class!!! Mr. Lupoli ITE 207.
CS 450 MODELING AND SIMULATION Instructor: Dr. Xenia Mountrouidou (Dr. X)
Discovering Computers 2009 Introduction to the course.
Introduction to Programming Summer 2010 Akil M. Merchant.
COMP Introduction to Programming Yi Hong May 13, 2015.
Material developed by Tim Korb, Peter Hirst, and Jeff Stefancic
Fall 2015 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 25,
CMSC 671 Principles of Artificial Intelligence Course Overview Fall 2015.
Principles of Programming Languages CMSC 331 Fall 2013.
Academic Integrity at IU Code of Student Rights, Responsibilities and Conduct.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Welcome!! CIT 593 Intro to Computer Systems aka “Introduction to Computer Architecture” Fall 2012.
CMSC 671 Introduction to Artificial Intelligence Course Overview Fall 2012.
UMBC CMSC 341 Intro1 CMSC 341 Course Introduction.
+ Introduction to Class IST210 Class Lecture. + Course Objectives Understand the importance of data, databases, and database management Design and implement.
CMSC 491/691 A Web of Data Administrivia Spring
Academic Integrity: Processes & Expectations at the College Level Andrea Goodwin Associate Director, Office of Student Conduct University of Maryland Diane.
CMSC 341 Spring /3/2007 UMBC CMSC 341 Intro 2 Course Website Instructors office hours TA names.
Lecture 1: Overview CMSC 201 Computer Science 1. Course Info This is the first course in the CMSC intro sequence, followed by 202 CS majors must pass.
ACADEMIC INTEGRITY VIOLATIONS OFFENSES, PENALTIES, AND PROCEDURES.
Ron Smelser Professor and Associate Dean Dean’s Office.
Principles of Programming Languages CMSC 331 Fall 2010.
CMSC 491/691 A Web of Data Administrivia Spring
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Principles of Programming Languages CMSC 331 Spring 2014.
IMPORTANT SMU POLICIES (and some general resources)
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
July 2011UMBC CMSC 341 Intro 1 CMSC 341 Course Introduction.
Academic Integrity at IU Code of Student Rights, Responsibilities and Conduct.
Suggested Layout. Professors are required to report allegations of academic misconduct. Not knowing that you broke a rule is not a defense for committing.
電腦圖學 Computer Graphic with Programming
Course Overview - Database Systems
CS101 Computer Programming I
CMSC 471 Principles of Artificial Intelligence Course Overview
CPT S 317: Automata and Formal Languages
Course Introduction – Fall 2014
It’s called “wifi”! Source: Somewhere on the Internet!
CMSC 471 Introduction to Artificial Intelligence section 1 Course Overview Spring 2017.
CMSC 341 Fall 2008.
Course Information and Introductions
Welcome to CS 1010! Algorithmic Problem Solving.
Course Overview - Database Systems
Welcome to COE212: Engineering Programming
Andy Wang Object Oriented Programming in C++ COP 3330
Welcome to CS 1010! Algorithmic Problem Solving.
CS 4700: Foundations of Artificial Intelligence
Syllabus.
Principles of Programming Languages
IS 651: Distributed Systems
Principles of Programming Languages
CMSC 341 Course Introduction July 2011 UMBC CMSC 341 Intro.
Accelerated Introduction to Computer Science
Introduction to Statistics
CMSC 341 Fall 2007.
LING 388: Computers and Language
CPT S 317: Automata and Formal Languages
Principles of Programming Languages CMSC 331 Spring 2010
CMSC 341 Spring 2007.
Principles of Programming Languages CMSC 331 section 0101 Fall 2008
Presentation transcript:

Principles of Programming Languages UMBC CMSC , Fall

Staff Tim Finin (FY nin) – –329 ITE, office hours: MW 2:30-3:30 TA –Prachi Bora –ITE xxx, office hours: TBD Active assistants –Shari Kurland, Catherine Rossbach, Victoria Lentz

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

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

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

Infrastructure Website for schedule, notes, etc. – –Blackboard for grades –Piazza for Q&A, discussionPiazza Programming assignments must work on gl.umbc.edu If you use your own computer you’ll want to download and install –Racket (Scheme)Racket –PythonPython

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 ( , office hours) –Ask the instructor ( , office hours)

Academic Integrity All members of the UMBC community are expected to make a commitment to academic honesty in their own actions and with others. Academic misconduct could result in disciplinary action that may include suspension or dismissal. Here are examples of academic misconduct that are not tolerated at UMBC. Cheating: Knowingly using or attempting to use unauthorized material, information, or study aids in any academic exercise Fabrication: Intentional and unauthorized falsification or invention of any information or citation in an academic exercise Facilitating Academic Dishonesty: Intentionally or knowingly helping or attempting to help another commit an act of academic dishonesty Plagiarism: Knowingly representing the words or ideas of another as one’s own in any academic exercise, including works of art and computer-generated information/images

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

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?

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 flippingflipping –In-class group projects –In class laptop labs –More interaction (e.g., device-free clickers)