Principles of Programming Languages

Slides:



Advertisements
Similar presentations
CPT S 317: Automata and Formal Languages
Advertisements

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)
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
Principles of Programming Languages UMBC CMSC , Fall 2013
CS 450 MODELING AND SIMULATION Instructor: Dr. Xenia Mountrouidou (Dr. X)
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
Principles of Programming Languages CMSC 331 Fall 2013.
CNS 4450 Syllabus. Context Language is a tool of thought. We rarely think without words. In solving problems by computer, we eventually get to the point.
Academic Integrity at IU Code of Student Rights, Responsibilities and Conduct.
UMBC CMSC 341 Intro1 CMSC 341 Course Introduction.
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.
Online Orientation Instructor: María L. Villagómez Contact Information: Office: BLDG. 800 (874) Telephone#:
Principles of Programming Languages CMSC 331 Fall 2010.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
COP4020 INTRODUCTION FALL COURSE DESCRIPTION Programming Languages introduces the fundamentals of the design and implementation of programming languages.
Principles of Programming Languages CMSC 331 Spring 2014.
IMPORTANT SMU POLICIES (and some general resources)
July 2011UMBC CMSC 341 Intro 1 CMSC 341 Course Introduction.
Academic Dishonesty One way to help understand just what constitutes academic dishonesty is to look at what another institution has formalized. The material.
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.
1 Academic Integrity. 2 What is academic integrity?
電腦圖學 Computer Graphic with Programming
Course Overview - Database Systems
CMSC 201 Computer Science I for Majors Lecture 01 – Introduction
Academic Integrity Academic Integrity.
CS101 Computer Programming I
Course Information and Introductions
Academic Integrity Plagiarism.
CMSC 471 Principles of Artificial Intelligence Course Overview
Course Information and Introductions
CPT S 317: Automata and Formal Languages
Course Introduction – Fall 2014
Programming Language Design Concepts
It’s called “wifi”! Source: Somewhere on the Internet!
Course Information Mark Stanovich Principles of Operating Systems
CMSC 341 Fall 2008.
Course Information and Introductions
Computer Networks CNT5106C
Course Overview - Database Systems
Welcome to COE212: Engineering Programming
Academic Dishonesty & Plagiarism*
Academic Integrity Student Guide
CS 4700: Foundations of Artificial Intelligence
CGS 3763 Operating Systems Concepts Spring 2013
Academic Responsibility
Syllabus.
Principles of Programming Languages
Spanish 120, 110, and 111, Elementary Spanish I
IS 651: Distributed Systems
CMSC 341 Course Introduction July 2011 UMBC CMSC 341 Intro.
Accelerated Introduction to Computer Science
Introduction to Statistics
CMSC 341 Fall 2007.
CPT S 317: Automata and Formal Languages
Academic Integrity.
CMSC201 Computer Science I for Majors Final Exam Information
Computer Networks CNT5106C
Principles of Programming Languages CMSC 331 Spring 2010
CMSC 341 Spring 2007.
Principles of Programming Languages CMSC 331 section 0101 Fall 2008
CSCI 1730: C++ and System Programming
Presentation transcript:

Principles of Programming Languages CMSC 331-02, Spring 2013 [M:Changed layout]

Staff John Y. Park TA Karan Gill park@umbc.edu ITE 207, office hours: TTh 4:00–5:00pm, W 1:00-2:00p TA Karan Gill kargil1@umbc.edu Office hours: location and time TBD

Goals Cover basic concepts underlying programming languages (syntax, semantics, families, …) Study Scheme as an example of a functional programming language Study a language such as C or Python as an example of a modern imperative language Study an object-oriented language to see what’s truly different

Goals Learn about a very different programming paradigm: logic programming Learn about good and not-good language design, through a study of Perl Touch on other languages and concepts along the way

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

Expectations Do the assignments Hand them in on time Ask questions 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 Don’t be afraid to seek help Take pride in your work, including your code

Infrastructure Website for schedule, notes, etc. http://cs.umbc.edu/courses/331/spring13/ Blackboard for discussion and grades All programming assignments must work on gl.umbc.edu If you use your own computer you’ll eventually want to download & install Racket (Scheme) Python

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)

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?

Questions 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?