CSE 3302 Programming Languages Chengkai Li Spring 2008 Lecture 1 - Introduction, Spring 20081 CSE3302 Programming Languages, UT-Arlington ©Chengkai Li,

Slides:



Advertisements
Similar presentations
Today’s Agenda  Syllabus CS2336: Computer Science II.
Advertisements

Introduction to Computer Programming I CSE 113
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
General information CSE 230 : Introduction to Software Engineering
Programming Languages Structure
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP 110 Introduction to Programming Jingdan Zhang June 20, 2007 MTWRF 9:45-11:15 am Sitterson Hall 014.
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.
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.
CSCI 347 – Data Mining Lecture 01 – Course Overview.
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.
CS 106 Introduction to Computer Science I 01 / 25 / 2010 Instructor: Michael Eckmann.
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)
1 Programming Languages Marjan Sirjani Course web site:
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Computer Graphics Kocaeli University Computer Engineering Department Spring 2012.
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
ICS 6B Boolean Logic and Algebra Fall 2015
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Introduction to Data Structures
ECE 1100: Introduction to Electrical and Computer Engineering Wanda Wosik Associate Professor, ECE Dept. Notes 1 Spring 2011 Slides adapted from lectures.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
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 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.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
CSE 3302 Programming Languages Chengkai Li Fall 2007 Lecture 1 - Introduction, Fall CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2007.
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.
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.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
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.
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
Computer Networks CNT5106C
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
Course Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
CSE 3302 Programming Languages Chengkai Li Spring 2008 Functional Programming Language: Haskell (cont’d) Lecture 20 – Functional Programming, Spring 2008.
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
CSc 120 Introduction to Computer Programing II
CSE 3302 Programming Languages
Programming Language Design Concepts
Course Information Mark Stanovich Principles of Operating Systems
CSI 3120 Concepts of Programming Languages
Syllabus Overview CSE 6363 – Machine Learning Vassilis Athitsos
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Organization of Programming Languages
CS Problem Solving and Object Oriented Programming Spring 2019
CS201 – Course Expectations
Presentation transcript:

CSE 3302 Programming Languages Chengkai Li Spring 2008 Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Course Page Syllabus, Announcements, Schedule (lecture notes), Homework, Machine Problems, Exams, Resources, Accommodation based on disability. Important announcements: announcement page ( Tentative! Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Basics Lectures: Tuesday / Thursday, 3:30-4:50pm, GACB 105 – Slides don’t cover everything. You need to read the book and supplementary materials. Instructor: Chengkai Li Office hours: Fri. 10am-12pm, Nedderman Hall 334Nedderman Hall Contact: (817) , cli [at] uta.edu Assistant Instructor/TA: Weimin He Office hours: Tu/Th 5-6pm, GACB107GACB Contact: (817) , wmhe [at] exchange.uta.edu 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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Tentative grading scheme Homeworks (HW): 15%, individual. Machine Problems (MP): 30%, individual. Essays (ES): 10%, individual. Midterm exam: 20%, Final exam: 25%, Bonus points: 5%, based on class participation. Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Homework (HW) 15% HW1, HW2, HW3, HW4 Problem-based Can discuss, but must write it independently. Review the materials learned Get you prepared for the exams Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Machine Problems (MP) 30% MP1, MP2, MP3, MP4. Can discuss, but must do it independently. Decent amount of programming: – Not crazy. – But not a piece of cake either. Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Essays (ES) 10% satisfying ABET requirements Can discuss, but must write it independently. Must get at least 37.5 (out of 100) on essay, otherwise you will get Incomplete (I) as your grade, no matter what your scores on other components are. panel discussion based on essay. Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Deadlines 11:59pm. After due time, deduct 5 points per hour, till you get 0. (No exception, unless you have medical or other emergency, with proof documents from the school.) Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

WebCT o Assignment instruction and files o Student assignment submission (we don’t accept submission or hard-copy) o Discussion Group o Grades Lecture 1 - Introduction, Spring 2008 CSE3302 Programming Languages, UT-Arlington ©Chengkai Li,

Exam Midterm: 20% Feb. 28th Review Mar. 04th Exam (in class), close-book, close-notes Final: 25% May. 1st Review May. 08th Exam, Thursday, 2-4:30pm, close-book, close-notes Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

Regrade 7 days after we post scores on WebCT and send out announcements. 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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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: – More details later Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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

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

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

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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

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

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

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008 (

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

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008

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

Schedule: What we are going to learn Introduction (1 lectures) History (0.5 lectures) Syntax (2 lectures) Semantics (2 lectures) Data Types (1 lectures) Control (2 lectures) Abstract Data Types (1 lectures) OO (Java, Smalltalk) (6 lectures) Functional (Lisp, Scheme, ML, Haskell) (4 lectures) Logic (Prolog) (4 lectures) Python (2 lectures: panel discussion) A taste of advanced topics and research (2 guest lectures) Lecture 1 - Introduction, Spring CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, 2008