CSE 3302 Programming Languages Chengkai Li Fall 2007 Lecture 1 - Introduction, Fall 20071 CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007.

Slides:



Advertisements
Similar presentations
General information CSE 230 : Introduction to Software Engineering
Advertisements

CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Mr. Sheng Zhang Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
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.
CS 415: Programming Languages Course Introduction Aaron Bloomfield Fall 2005.
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.
CSE6339 COMPUTATIONAL JOURNALISM (SPECIAL TOPICS IN ADVANCED DATABASE SYSTEMS) CSE6339, Spring 2015 Department of Computer Science and Engineering, University.
CSE 425: Intro to Programming Languages and their Design A Few Key Ideas No particular language is a prerequisite for this course –However you should be.
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
Introduction to Programming Summer 2010 Akil M. Merchant.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
James Tam CPSC 203: Introduction To Computers (Independent Study) James Tam.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Course Introduction Software Engineering
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Programming Languages Summer
February 25, ICE 1341 – Programming Languages (Lecture #1) In-Young Ko Programming Languages (ICE 1341) Lecture #1 Programming Languages (ICE 1341)
Computer Science 10: Introduction to Computer Science Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
1 Programming Languages Marjan Sirjani Course web site:
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.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
CSE 3302 Programming Languages Chengkai Li Spring 2008 Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li,
Introduction to Data Structures
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.
Programming In Perl CSCI-2230 Thursday, 2pm-3:50pm Paul Lalli - Instructor.
MAT 360 – Lecture 0 Introduction. About me  Moira Chas   Work phone :  Office Location:
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Introduction CSE250. Course Overview This course will be difficult Work hard and start early You are adults and I will treat you as such – I won’t.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
CSE 1105 Week 1 CSE 1105 Course Title: Introduction to Computer Science & Engineering Classroom Lecture Times: Section 001 W 4:00 – 4:50, 202 NH Section.
IST 210: Organization of Data
Today’s Agenda  Syllabus  Software Engineering Research.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Data Structures and Algorithms in Java AlaaEddin 2012.
CSE3330/5330 DATABASE SYSTEMS AND FILE STRUCTURES (DB I) CSE3330/5330 DB I, Summer2012 Department of Computer Science and Engineering, University of Texas.
COP4020 INTRODUCTION FALL COURSE DESCRIPTION Programming Languages introduces the fundamentals of the design and implementation of programming languages.
Computer Networks CNT5106C
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
Dr. Ying Lu ylu at cse.unl.edu Schorr Center Aug 22, CSCE 351 Operating System Kernels.
Course Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
CSE6339 DATA MANAGEMENT AND ANALYSIS FOR COMPUTATIONAL JOURNALISM CSE6339, Spring 2012 Department of Computer Science and Engineering, University of Texas.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Networking CS 3470, Section 1 Sarah Diesburg
CSE 3302 Programming Languages
Computer Networks CNT5106C
Programming Language Design Concepts
Course Information Mark Stanovich Principles of Operating Systems
CSI 3120 Concepts of Programming Languages
Computer Science 102 Data Structures CSCI-UA
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Programming Languages
Organization of Programming Languages
Accelerated Introduction to Computer Science
Presentation transcript:

CSE 3302 Programming Languages Chengkai Li Fall 2007 Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

What do they have in common? blue, orange and white Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Myself: Chengkai Li China. Research interests: databases, Web, information retrieval, data mining Looking for undergraduate/graduate students. Financial supports available. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Now it’s your turn… name, year, where from courses taken programming skills what do you want to get from the course anything else Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Course Page Syllabus, Announcements, Schedule (lecture notes), Homeworks, Machine Problems, Exams, Discussion Groups, Resources, Accommodation based on disability. Important announcements: announcement page ( Web CT – discussion group. – assignments submissions. Tentative! Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Basics Lectures: Tuesday / Thursday, 3:30-4:50pm, NH 110 – Slides don’t cover everything. You need to read the book and supplementary materials. Instructor: Chengkai Li Office hours: Wed./Fri. 11am-12pm, Nedderman Hall 334Nedderman Hall Contact: (817) , TA: Roochi Mishra Office hours: Tu/Th 2-3pm Nedderman Hall 232 Nedderman Hall Contact: (817) , Textbook: Programming Languages - Principles and Practices, 2nd Edition, by Kenneth C. Louden. Reference book: Principles of programming languages: design, evaluation, and implementation, 2nd Edition, by Bruce J. MacLennan. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Basics (cont.) Prerequisites – Background: CSE 3315 Theoretical Concepts in Computer Science and Engineering. Automata, grammar, regular expression, … – Programming: Experiences with at least one major programming language. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Tentative grading scheme Homeworks (HW): 10%, individual. Machine Problems (MP): 30%, individual or group of 2 (no exception). Essays (ES): 10%, individual. Midterm exam: 20%, close-book, close-notes. Final exam: 30%, close-book, close-notes. Bonus points: 5%, based on class participation. Out: Thursdays In (Due): Thursdays 5pm (3 weeks later) By WebCT. (Will do if we cannot setup WebCT.) Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Homeworks (HW) 10% HW1, HW2 Problems based Can discuss, but must write it independently. Review the materials learned Get you prepared for the exams Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Machine Problems (MP) 30% MP1, MP2, MP3. Can discuss, but must do it independently or in group of 2 (must roughly equally contribute). Decent amount of programming: – Not crazy. – But not a piece of cake either. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Essays (ES) 10% ES1, ES2 satisfying ABET requirements Can discuss, but must write it independently. ES1: some extra readings. ES2: preparations for panel discussion. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Deadlines Automatic 24-hour grace period, without penalty. 0 after the grace period. Example: – HW1.due = Oct. 4 th, 5pm – If (you submit before Oct. 5 th 5pm) then you are fine else HW1.score = 0 Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Exam Midterm: 20% Oct. 11th Review Oct. 16th Exam (in class), close-book, close-notes (may become take-home essay) Final: 30% Dec. 6th Review Dec. 13th Exam, Thursday, 2-4:30pm, close-book, close-notes Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Regrade 7 days after we sent out scores (either by Web CT or ). TA will handle regrade requests. Won’t consider it after 7 days. If not satisfied with the results, 7 days to request again. Instructor will handle it, and the decision is final. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

How to get bonus points? 5% During lectures: – Raise questions. (There are no bad questions.) – Actively participate in discussions. – But don’t overdo it please. Presentation and Panel Discussions: – Students form groups. Each group study a language not covered in lectures. And try it out. – Each student writes an essay that involves the languages studied by other groups. – The group presents (either single or multi speakers is fine.) – The group discusses as a panel. Instructor moderates. Questions from other students. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Get questions after class? Discuss with classmates: – The best way to learn is to teach. General questions (that can be asked by any student): – Post on discussion group (Web CT or listserv) Individual questions (that apply to you specifically): – TA – No need to CC me. If TA cannot handle it, she will forward to me. Come to TA’s office hours or my office hours. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Get bored Do you watch Youtube? Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Don’t do it. It’s not worth it. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

read & sign the statement Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

CSE 3302: What is it about? Exposure to various kinds of languages and paradigms. Understand the features, pros/cons of languages. Do things in the right way. Learn a new language effectively and quickly. Choose a language to use for a project/system. Design new languages. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

CSE 3302: What isn’t it about? I want to get easy credit without doing much. I want to become a coding guru in C/C++/C#/Java/… I want to know every details about implementing a language. I want to prove properties of a language. Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Big picture Let’s draw the picture Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Big picture? Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

What is a programming language? Programmers use PLs to instruct computers to do things. CPUOS Memory printf("hello, world\n"); Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Programming languages? We talk about high-level general-purpose programming languages. LDA #2 STA X SELECT name FROM Students Where status=“sleeping” Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007 (

Machine Readability No ambiguity Efficient translation/compilation … Covered in compiler course CPUOS Memory printf("hello, world\n"); compiler executable Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Human Readability This is what really matters – Abstractions for describing the actions Data abstraction: subject of computation Control abstraction: transfer of control in computation – Human-Human communications Your program will be read by others CPU OS Memory printf("hello, world\n"); compiler executable Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Paradigms Imperative/Procedural: (ALGOL, FORTRAN, Pascal, C, Ada) control statements manipulate the data and program states OO: (C++, Java, Smalltalk) data/object-centric Functional: (Lisp, Scheme, ML, Haskell) everything is done by function evaluations Logic: (Prolog) axioms (statements about truth) + inferences Parallel: (threads in Java) Mix: (Python, Perl, Ruby) Few “pure” languages Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Syntax and Semantics Syntax: structure of programs (tokens, keywords, statements.) Semantics: What are meant by programs Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007

Schedule: What we are going to learn Introduction (1.5 lectures) History (0.5 lectures) Syntax (2 lectures) Semantics (2 lectures) Data Types (2 lectures) Control (3 lectures) Abstract Data Types (2 lectures) OO (C++, Java, Smalltalk) (3 lectures) Functional (Lisp, Scheme, ML, Haskell) (3 lectures) Logic (Prolog) (2 lectures+1 guest lecture) Python, PHP, Perl, Ruby (2 lectures: student discussion) A taste of advanced topics and research (2 guest lectures) Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007