1 Programming Languages Tevfik Koşar Lecture - I January 17 th, 2006.

Slides:



Advertisements
Similar presentations
Adapted from Scott, Chapter 6:: Control Flow Programming Language Pragmatics Michael L. Scott.
Advertisements

CS 330 Programming Languages 09 / 07 / 2006 Instructor: Michael Eckmann.
CS 330 Programming Languages 09 / 06 / 2007 Instructor: Michael Eckmann.
Programming Languages Structure
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.
Organization of Programming Languages (CSE452)
CSE305 Programming Languages Notes are based primarily on Sebesta text. Quotes are from Sebesta text (7 th edition), unless otherwise noted. Sources other.
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.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
Copyright © 2005 Elsevier Chapter 1 :: Introduction Programming Language Pragmatics Michael L. Scott.
Introduction COMP104: Fundamentals and Methodology.
Introduction CSE 1310 – Introduction to Computers and Programming
CS 326 Programming Languages, Concepts and Implementation
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS 330 Programming Languages 09 / 04 / 2008 Instructor: Michael Eckmann.
Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.
Programming Languages Summer
First Java Program COMP 102 #2 2015T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
February 25, ICE 1341 – Programming Languages (Lecture #1) In-Young Ko Programming Languages (ICE 1341) Lecture #1 Programming Languages (ICE 1341)
Programming History. Who was the first programmer?
CS 390 Introduction to Theoretical Computer Science.
1 Programming Language History and Evolution In Text: Chapter 2.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
1 Stork: State of the Art Tevfik Kosar Computer Sciences Department University of Wisconsin-Madison
Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University.
Programming Languages
1 Introduction to C Programming 計算機程式設計 2/22/2012 朱浩華.
int k = Integer.MAX_VALUE; k++; int k = Integer.MAX_VALUE; k++; What happens when the following code executes? byte b = someFile.readByte(); b = (byte)(b.
Programming Language Theory 2014, 1 Chapter 1 :: Introduction Origin : Michael L. Scott School of Computer & Information Engineering,
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
Scott C. Johnson Lecturer Rochester Institute of Technology Spring 2016.
Programming Language History and Evolution
Programming Languages
The language focusses on ease of use
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Why study programming languages?
PROGRAMMING LANGUAGES
CS 326 Programming Languages, Concepts and Implementation
CS 3304 Comparative Languages
Programming Language Design Concepts
GC101 Introduction to computers and programs
Problem Solving Using C: Orientation & Lecture 1
CS 3304 Comparative Languages
CSI 3120 Concepts of Programming Languages
Programming Language History and Evolution
Programming COMP104: Fundamentals and Methodology Introduction.
Developing Applications
CS190/295 Programming in Python for Life Sciences: Lecture 1
Problem Solving.
Problem Solving Using C: Orientation & Lecture 1
Programming Languages 2nd edition Tucker and Noonan
CSE 341 Programming Languages Autumn 2001
CSE 341 Programming Languages Autumn 2003
CSE 341 Programming Languages Autumn 2002
Accelerated Introduction to Computer Science
CSE 341 Programming Languages Spring 2003
Problem Solving Using C: Orientation & Lecture 1
Principles of Programming Languages
Overview of Programming Paradigms
CSE 341 Programming Languages Autumn 2003
School of Computer & Information Engineering,
Programming Languages, Preliminaries, History & Evolution
Presentation transcript:

1 Programming Languages Tevfik Koşar Lecture - I January 17 th, 2006

2 Contact Information Prof. Tevfik Kosar Office: 292 Coates Phone: Web: Office hours: Tue & Thu, 1:30pm – 2:30pm Course web page: Provide me with your active address to be added to the class mailing list.

3 Roadmap Meet the Professor –Background –Teaching philosophy Motivation for the Course –What expect to learn? Introduction to the Course Material Administrative details Take Photos

4 Tevfik Kosar Joined LSU in August 2005 Education: –PhD: University of Wisconsin-Madison (CS) –MS: Rensselaer Polytechnic Institute, NY (CS) –BS: Bosporus University, Turkey (CompE) Teaching –This semester: CSC 4101 – Programming Languages –Next year: CSC 4103: Operating Systems CSC 7700: Data Intensive Distributed Computing

5 Research Grid Computing –Analogy to the Power Grid –A special case for Distributed Computing –Spans wide area networks and multiple administrative domains The Center for Computation & Technology –Spend half of my time there –Office: Johnston 333 –Multi-disciplinary research –

6 The Imminent Data “deluge” Moore’s Law outpaced by growth of scientific data! Exponential growth of scientific data –2000 : ~0.5 Petabyte –2005 : ~10 Petabytes –2010 : ~100 Petabytes –2015 : ~1000 Petabytes “I am terrified by terabytes” -- Anonymous “I am petrified by petabytes” -- Jim Gray

7 A High Energy Physics Project: LHC The detectors at the LHC will probe fundamental forces in our Universe, such as search for the yet-undetected Higgs Boson. Starting in 2006 the LHC accelerator will produce proton- proton collisions with a rate of 10 9 events/s. Four detectors: –ATLAS, CMS, ALICE, LHC-B LHC Challenges: –11 Petabytes of data per year –100,000 CPUs –5000 physicists, in 300 institutes in 50 countries

8 A Bioinformatics Project: BLAST Goal: decode genetic information and map the genomes of humans, and other species. Uses comparative genomics: compares unknown genetic sequences (~billions) to known genomes in search of similarities. Current dataset: –Several Petabytes Future: –Exponential Growth: SCARY!

9 An Educational Technology Project: WCER Educational Video Processing Build histories of student learning for use in education research and instruction relying on video data. Analyze and share large amount of video. 1 hour DV video is ~13 GB –A typical educational research video uses 3 cameras => 39 GB for 1 hour Current data set: –> 500 Terabytes Future: –Several Petabytes

10 Astronomy Mapping of Universe, detection of new galaxies and stars… ProjectData Volume WFCAM20 TB/year VISTA100 TB/year LSST1000 TB/year Future Productions ProjectData Volume DPOSS3 TB 2MASS12 TB SDSS40 TB Current Datasets MACHO 2MASS SDSS DPOSS GSC-II COBE MAP NVSS FIRST GALEX ROSAT OGLE... MACHO 2MASS SDSS DPOSS GSC-II COBE MAP NVSS FIRST GALEX ROSAT OGLE...

11 How to access and process distributed data? TB PB

12 Interested? Send an to Register for a independent study (CSC 4999) Take 3 credits for doing research in one of these interesting topics during one semester

13 Teaching Philosophy Goal: –For instructor: teaching the material –For student: learning and applying the material in real life Grades are of second degree importance Do not memorize, understand the material –Exams may be openbook! You are only responsible from material –Covered in the class –Part of projects or homework assignments

14 Programming Languages How many different programming languages are there? –More than 200! Can you name some of them? Which ones have you used before? –Java –C++ –C–C –Lisp/Scheme –Prolog –….

15 Language of the Computer Machine Language –Consists of 0’s and 1’s –Which refers to high and low voltage states – …. –27bdffd0 afbf0014 0c1002a8 … Assembly Language –push bx mov bx div bx add dx -Direct mapping to machine language -Higher Level Languages -C, C++, Java, Pascal, Scheme, Prolog.. -First one: Fortran

16 Why are there so many programming languages? Special Purposes –Each language is designed to solve a certain problem: Perl for string parsing and manipulation C/C++ for systems programming Java for platform independent programs Prolog for logic programming and AI Fortran for numerical computations Personal Preferences Evolution –Learn better ways of doing things over time.. –eg. from “go to” to “while” loops, “case” statements

17 What makes a language successful? easy to learn (BASIC, Pascal, LOGO, Scheme) easy to express things, easy use once fluent, "powerful” (C, Common Lisp, APL, Algol-68, Perl) easy to implement (BASIC, Forth) possible to compile to very good (fast/small) code (Fortran) backing of a powerful sponsor (COBOL, PL/1, Ada, Visual Basic) wide dissemination at minimal cost (Pascal, Turing, Java)

18 Programming Paradigms Group languages as –declarative functional(Scheme, ML, pure Lisp, FP) logic, constraint-based (Prolog, VisiCalc, RPG) –imperative von Neumann(Fortran, Pascal, Basic, C) object-oriented(Smalltalk, Eiffel, C++) scripting languages(Perl, Python, JavaScript, PHP)

19 Why study programming languages? Help you choose a language Make it easier to learn new languages –Syntactic similarities C++ vs Java –Conceptual siilarities C vs Pascal Help you make better use of whatever language you use –Choose among alternative ways Using arrays vs pointers Loops vs Recursion –Simulate useful features in languages that lack them Faking pointers Faking modularity

20 Textbooks Required text: –Programming Language Pragmatics (2nd edition) –by Michael Scott, Morgan Kauffman Publishers, 2005 Recommended text: –Concepts of Programming Languages (6th edition) –Robert W. Sebesta, Addison-Wesley, 2003 There will be additional links for supplementary course material on the course web page

21 Grading The end-of-semester grades will be composed of: –Popup Quizzes : 5% –Active Contribution: 5% –Homework: 15% –Projects: 30% –Midterm: 20% –Final: 25%

22 Reading Assignment Read chapter 1 from Programming Language Pragmatics (PLP).

23 Any Questions? Hmm..