CS 415: Programming Languages Course Introduction Aaron Bloomfield Fall 2005.

Slides:



Advertisements
Similar presentations
CSc 2310 Principles of Programming (Java)
Advertisements

Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Economics 1 Principles of Microeconomics Instructor: Ted Bergstrom.
1 Course Information Parallel Computing Fall 2008.
1 Course Information Parallel Computing Spring 2010.
Intro to CIT 594
General information CSE 230 : Introduction to Software Engineering
Slide 1 Instructor: Dr. Hong Jiang Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom: 108 Avery Hall; Time: 1:30pm-2:20pm,
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
Professor Weaver CSC181 Programming I Professor Weaver
MATH 330: Ordinary Differential Equations Fall 2014.
ECE200 – Computer Organization Course Introduction.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
CS 315 Theory of Programming Languages Winter Quarter 2015.
ICE1341 Programming Languages Spring 2005 Lecture #3 Lecture #3 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to CompSci 100! As You Arrive… Make sure you grab a syllabus packet. Read through it. I will be covering the most essential points in my talk,
CS211: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Piazza – Textbook Highlight important.
Fall 2010 Instructor: Emily Batty.  Emily Batty   is the BEST way to reach me!!!
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 1 1.
CSCI 347 – Data Mining Lecture 01 – Course Overview.
Computer Network Fundamentals CNT4007C
Math 125 Statistics. About me  Nedjla Ougouag, PhD  Office: Room 702H  Ph: (312)   Homepage:
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
February 25, ICE 1341 – Programming Languages (Lecture #1) In-Young Ko Programming Languages (ICE 1341) Lecture #1 Programming Languages (ICE 1341)
Understanding the Academic Structure of the US Classroom: Syllabus.
CS 101 Today’s class will start 5 minutes late. CS 101 Introduction to Computer Science Aaron Bloomfield University of Virginia Spring 2007.
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.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
CS 415 Daily Announcements. Friday, 26 August 2005 Readings: –Read Chapter 1 for next Monday –Read Algol 60 report for next Wednesday –Read some of chapter.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
CS 101 Today’s class will start 5 minutes late (and we’ll be talking about lab scheduling problems then)
MAT 360 – Lecture 0 Introduction. About me  Moira Chas   Work phone :  Office Location:
Data Warehousing/Mining 1 Data Warehousing/Mining Comp 150DW Course Overview Instructor: Dan Hebert.
Object Oriented Programming (FIT-II) J. H. Wang Feb. 20, 2009.
IST 210: Organization of Data
SE-2030 Software Engineering Tools and Practices SE-2030 Dr. Mark L. Hornick 1.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
CPE 432 Computer Design Dr. Walid Abu-Sufah 1CPE 432 Computer Design.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Intro to CIT 594
1 CS 101 Today’s class will begin about 5 minutes late We will discuss the lab scheduling problems once class starts.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Data Structures and Algorithms in Java AlaaEddin 2012.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
COP4020 INTRODUCTION FALL COURSE DESCRIPTION Programming Languages introduces the fundamentals of the design and implementation of programming languages.
08/29/2006 Introduction INTRODUCTION Instructor: Petru S. Fodor Class webpage: PHYSICS 243H.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Scott C. Johnson Lecturer Rochester Institute of Technology Spring 2016.
Computer Network Fundamentals CNT4007C
CSc 1302 Principles of Computer Science II
Computer Networks CNT5106C
Programming Language Design Concepts
Computer Science 102 Data Structures CSCI-UA
Computer Networks CNT5106C
FALL 2018 Welcome to ESL.
CS 2530 Intermediate Computing Dr. Schafer
Intro to CIT 594
Presentation transcript:

CS 415: Programming Languages Course Introduction Aaron Bloomfield Fall 2005

Prerequisites Prerequisites: CS216 and CS333 with grades of C- or above. It is assumed that students entering this class have the following background: Experience with an OOP language (such as Java or C++), from CS 101/201 Experience with an OOP language (such as Java or C++), from CS 101/201 Experience with a procedural language (such as C), from CS 216 Experience with a procedural language (such as C), from CS 216 Familiarity with an assembly language, from CS 216 or CS 333 Familiarity with an assembly language, from CS 216 or CS 333

Course objectives Students who complete the course will: 1.Develop a greater understanding of the issues involved in programming language design and implementation 2.Develop an in-depth understanding of functional, logic, and object-oriented programming paradigms 3.Implement several programs in languages other than the one emphasized in the core curriculum (Java/C++) 4.Understand design/implementation issues involved with variable allocation and binding, control flow, types, subroutines, parameter passing 5.Develop an understanding of the compilation process

Textbook Textbook: Scott, Michael. Programming Language Pragmatics. Morgan Kaufmann: 2000 Textbook errata at du/u/scott/pragmatics/erra ta.html

Expected Assignments Write programs in several different languages Current plan is the five listed a few slides back Current plan is the five listed a few slides back Course project: to learn another language of your choice Includes a program, paper, and presentation Includes a program, paper, and presentation Midterm (on Wednesday, 12 October, during class) Final exam (on Tuesday, 13 Dec from 9: :00) Both exams are closed book Both exams are closed book

Grades 35%: Programming homeworks 15%: Individual project and presentation 20%: Midterm 25%: Final exam 5%: Class participation Class participation will be graded partly based on attendance In particular, you need to be conscious during class! In particular, you need to be conscious during class! Just having a pulse and being present is not sufficient Just having a pulse and being present is not sufficient

Late policy Each person will be allowed ONE late day (24 hours) this term The late policy is 30% off for first 24 hours late, 50% off for the next 24 hours Assignments are not accepted after 48 hours from original due date Note that using your late day extends this calendar by 24 hours, so that you could turn the assignment in up to 72 hours after the original due date

Theory vs. Implementation This class focuses on both: Theory is covered by the textbook readings, lectures, and on the tests Theory is covered by the textbook readings, lectures, and on the tests Implementation is covered by the homework assignments and the project Implementation is covered by the homework assignments and the project You will need to do both to do well in the course You can’t slack off on the theory part! You can’t slack off on the theory part! Thus, if you don’t keep up with the readings, you will end up with a poor grade in the course Thus, if you don’t keep up with the readings, you will end up with a poor grade in the course

Tentative schedule See the website…

Class Topics History Major paradigms Historical (Fortran) Historical (Fortran) Functional (Scheme or OCaml) Functional (Scheme or OCaml) Logic (Prolog) Logic (Prolog) Object-oriented (Smalltalk) Object-oriented (Smalltalk) Aspect-oriented (AspectJ) Aspect-oriented (AspectJ) How different languages deal with: Naming and scopes Naming and scopes Control flow Control flow Types Types Subroutines Subroutines Language design and implementation tradeoffs Compilers, debuggers, programming environments

Programming languages vs. compilers This is not a compilers course But we will be studying compilers in great detail But we will be studying compilers in great detail The two fields are very closely linked You cannot understand one without understanding the other You cannot understand one without understanding the other

Honor Policy Yada, yada, yada You know the drill – you’ve heard it all before by now

Fairness I intend this course to be hard but fair If it is not being fair, please let me know and I will do my best to correct it If it is not being hard (or being to hard), also let me know

Upcoming readings I will try to give you the readings well in advance so you can plan accordingly See the course schedule as well See the course schedule as well Read chapter 1 for Monday Read the Algol 60 report for Wednesday Read (most of) chapter 2 for the following week

A note on acronyms My policy on acronyms for this course Acronyms that are pronounced are in title case: Fortran Fortran Cobol Cobol Basic Basic Acronyms that are spelled-out are all in upper case: PHP PHP HTML HTML XML XML

Keeping the class interesting Humor breaks Actually helps with attention span! Actually helps with attention span! Not surprisingly, most of it will be computer humor! Not surprisingly, most of it will be computer humor!

Motivational posters…

Demotivational posters…