CSE4102 Programming Languages

Slides:



Advertisements
Similar presentations
OV-1.1 CSE4701 CSE4701 Introduction to Databases Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut 371.
Advertisements

1 Course Information Parallel Computing Fall 2008.
OV-1.1 CSE4100 CSE4100 Programming Language Translation Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
OV-1.1 CSE244 CSE244 Programming Language Translation Aggelos Kiayias Computer Science & Engineering Department The University of Connecticut 371 Fairfield.
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.
1 Are you ready?. 2 Professor: Vladimir Misic Office : Phone: Office Hours : Mon, Tue; 2:00pm – 4:00pm Website :
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
OV-1.1 CSE2102 CSE2102 Intro to Software Engineering Prof. Steven A. Demurjian, Sr. Director, CS&E Graduate Program Computer Science & Engineering Department.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
Course Introduction Software Engineering
February 25, ICE 1341 – Programming Languages (Lecture #1) In-Young Ko Programming Languages (ICE 1341) Lecture #1 Programming Languages (ICE 1341)
1 Programming Language History and Evolution In Text: Chapter 2.
Welcome to CS 221! First Course in Computer Science for Engineers.
Java Programming Computer Engineering Department JAVA Programming Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
CPS120: Introduction to Computer Science Winter 2002 Instructor: Paul J. Millis.
Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University.
CSCE 314 Programming Languages
Dr. Sajib Datta Jan 15,  Instructor: Sajib Datta ◦ Office Location: ERB 336 ◦ Address: ◦ Web Site:
OV-1.1 CSE230 CSE230 Introduction to Databases Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 371.
CSE6339 DATA MANAGEMENT AND ANALYSIS FOR COMPUTATIONAL JOURNALISM CSE6339, Spring 2012 Department of Computer Science and Engineering, University of Texas.
Programming Language History and Evolution
CMPT 201 Computer Science II for Engineers
Computer Network Fundamentals CNT4007C
CSE3002 Social, Ethical & Prof. Issues in CSE History of Computing
Course Overview - Database Systems
Computer Engineering Department Islamic University of Gaza
Concepts of Programming Languages
Computer Networks CNT5106C
Programming Language Design Concepts
CSC 135 section 60 or CSC Fall 2017.
Problem Solving Using C: Orientation & Lecture 1
CSE1320 INTERMEDIATE PROGRAMMING
CMPE 152: Compiler Design January 25 Class Meeting
CSE1320 INTERMEDIATE PROGRAMMING
Programming Language History and Evolution
Developing Applications
CSE4102 Team Project Prof. Steven A. Demurjian
Computer Networks CNT5106C
Course Overview - Database Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
Problem Solving.
Problem Solving Using C: Orientation & Lecture 1
CSE4939W/4940 CS & E Design Lab I/II
CMPE 152: Compiler Design August 21 Class Meeting
CSE1320 INTERMEDIATE PROGRAMMING
CSE1320 INTERMEDIATE PROGRAMMING
CSE 341 Programming Languages Autumn 2001
CSE 341 Programming Languages Autumn 2003
CSE 341 Programming Languages Autumn 2002
CMPE 152: Compiler Design January 24 Class Meeting
Problem Solving Using C: Orientation & Lecture 1
Overview of Programming Paradigms
CSE 341 Programming Languages Autumn 2003
CSCE 221 Professor Lupoli TAMU CSCE 221 Intro.
Computer Engineering Department Islamic University of Gaza
Computer Networks CNT5106C
School of Computer & Information Engineering,
Programming Languages, Preliminaries, History & Evolution
CS Problem Solving and Object Oriented Programming Spring 2019
Sarah Diesburg Operating Systems CS 3430
Semester Schedule PLA5 Due 4/1/19 11:59pm to HuskyCT
CSE4102 Team Project Prof. Steven A. Demurjian
CSE4939W/4940 CS & E Design Lab I/II
Presentation transcript:

CSE4102 Programming Languages Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut 371 Fairfield Way, Box U-255 Storrs, CT 06269-3255 Steven.Demurjian@uconn.edu http://sdcse.engr.uconn.edu (860) 486–4818 (Office) (860) 486-3719 (CSE Office) Teaching Assistants – ITE140? Office hours to be announced Chaoqun Yue  Chaoqun.yue@uconn.edu   Yanyuan Qin  Yanyuan.qin@uconn.edu

Course Objectives Explore the Programming Languages from 1940s to the Present Day Who were the Founders and Major Contributors? What are the Different Programming Paradigms? How have PLs Evolved over Decades? From Origins to Mainframes to PCs to Mobile to IoT From Assembly to Procedural to Functional to Logic to Object Oriented to Visual to What’s Next? From Spaghetti Code to Structured Programming to Strong Type Checking CSE1010 from Pascal to C++ to Java to Python What will shape the Future in PLs? Explore the Evolution of Programming and Paradigms over Time

Main Textbook Robert W. Sebesta, Concepts of Programming Languages, 10th Ed, Pearson ISBN 10: 0-13-139531-9 ISBN 13: 978-0-13-139531-2

Lectures and Topics/May be Changed Brief History of Computing and Founders Highlights influence of PLs Review Evolution of PLs History and Review of Programming Languages Chapter 2 of textbook on Steroids Augmemt with Extensive PL Examples Chapters 1-12, 16, maybe 15 Programming language /software engineering ethics Additional Material on Lexical Analysis/Regular Expressions Parsing/Context Free Grammars Runtime Evironment as related to PLs Indepth Examination of Pascal, Modula-2, Ada, Prolog, others TBD

Three Main Assignments One or Two Semester Exams Individual - Developing Code in Different Programming Languages Utilize a Common Problem http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf Utiliz Suite of IDEs Also use GNU Compiler Family http://sdcse.engr.uconn.edu/Cse4102/GNUCompilers.docx Team Semester Project to Explore New/Emerging Programming Languages Teams of 2, 3 or 4 PPT Presentation on a PL Written Report and Development Actual Speed Presentation Last 2-3 weeks of Class

Breakdown of Percentages Exam(s) (25-35%) Individual - Developing Code in Different (35-40%) Programming Languages Team Semester Project to Explore a PL (35-40%) PPT Presentation Written Report Other Requirements TBD Actual Presentation (last 2 or 3 weeks of Class) Note: All Subject to Change – Use Breakdown that Most Benefits Students

Last time taught this course Formulas PLATTL= Sum of highest five grades -- Ex: 140 EXAMTTL = Your final Exam Score – Ex: 75 SEMPRTTL = ( ( IndivReport/50*0.75) + ( IndivPPT/50*0.25))*100 Ex: ((45/50*0.75) + (35/50*0.25)) *100 = 85 Semester Total = ((PLATTL/150*0.375)+(EXAMTTL/90*0.25)(SEMPRTTL/100*0.375))*100 . Ex:. ((140/150*0.375)+(75/90*0.25)+(85/100*0.375))=87.71 Final Scale (note A+ since Grads can get A+ grades) A+ 94+ A 91+ A- 87+ B+ 83+ B 79+ B- 75+ C+ 70+ C 65+ C- 60+ D+ 55+

Coding in Multiple Programming Languages Utilize a Common Problem http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf C, Pascal, Modula 2, Ada, Prolog – 6 Assignments Word Count Functionality (WCF) Word Frequency Functionality (WFF) Permuted Index Functionality (PIF) WCP.zip, PIFC.zip, PIFCPP.zip Objectives Implement WCF, WFF, and/or PIF in different programming languages Use Language Specific Capabilities Take highest 5 grades http://sdcse.engr.uconn.edu/Cse4102/cse4102progassign.docx

Your Role in Programming Assignments Learning a new language on your own with minimal support from TAs or instructor Programming assignments are not complex problems We’re testing for accuracy in results on Word counting Word frequency Permuted index Basic sorting Not worried about efficient implementation Provide you test cases, we have some of our own Intent is to allow you to explore different languages

All Programming Assignments Posted PLA1 C Program - Due January 31, 11:59pm Implement the Frequency Functional (WFF) in C as described in: http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf PLA2 Pascal Program - Due February 14, 11:59pm Implement the Word Count Functionality (WCF) and Frequency Functional (WFF) in Pascal as described in: http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf PLA3 Modula-2 Program –Due February 28, 11:59pm Evolve WCF from PLA2 to Modula 2 and implement Word Frequency Functional (WFF) in Modula-2 as described in: http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf Version 1 single module Version 2 Single module with Sorting and three procedures

All Programming Assignments Posted PLA4 Ada Program - Due March 14, 11:59pm Modify an existing a Ada program with three versions V1 change original program to alphabetically sort V2 + V1 Change the logic so that get WFF V3 +V1+V2 Add in read from input.txt and written to output.txt PLA5 Ada Program -- Due April 1, 11:59pm Extend PLAV3 to realize Permuted Index Functionality (PIF) in Ada as described in: http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf PLA6 Prolog Program -- Due April 15, 11:59pm Independent project on using Prolog from a database All assignments 30 points each, take top five of six Tests : http://sdcse.engr.uconn.edu/Cse4102/test1.txt http://sdcse.engr.uconn.edu/Cse4102/test2.txt http://sdcse.engr.uconn.edu/Cse4102/test3.txt

Lectures Presentations on PLs Each presentation on due date of prior language Pascal January 31 Modula-2 February 14 Ada February 28 Prolog April 1

PLA1 Implement the Word Frequency Functionality (WFF) in C as described in: http://sdcse.engr.uconn.edu/Cse4102/CommonProbBackground.pdf Tests: http://sdcse.engr.uconn.edu/Cse4102/test1.txt http://sdcse.engr.uconn.edu/Cse4102/test2.txt http://sdcse.engr.uconn.edu/Cse4102/test3.txt   Utilize gcc and upload your .c/.h files to HuskyCT. If you use an IDE, make sure your solution compiles and runs on the command line in Linux under gcc. You can implement this solution by either inputting one file using argc, and argv at the command line level or by reading in from an input file. For the purposes of this assignments and all the rest of the assignments, a “word” for the word count (and for the permuted index) must take into consideration the following: Each word must be at least one character and start with a letter. If a word has 2 or more characters, then the second and successive characters can be letters, digits, the underscore, or the hyphen. This means that you must, for the purposes of identifying words or computing the permuted index, recognize and discard other characters such as @, #, $, &, (, ), etc.s lso, note that you must eliminate white space (multiple spaces or tabs) between words.

Programming Languages Overview Procedural Languages: Pascal, Modula-2, Ada, Algol, Fortran, Functional and Logic Languages: Lisp/Scheme, Prolog, ML Object-Oriented Languages: Oberon-2, Modula-3, Go Miscellaneous Languages: COBOL Emerging Languages: Microsoft P, Google Dart/Flutter, Others? Browser-Based Scripting Languages: Perl, Python, Javascript, PHP

GNU Compilers

GNU Compilers (mostly)

Where to Find Sample Code http://sdcse.engr.uconn.edu/Cse4102/SamplePLProgramLinks.docx

Where to Find Sample Code

Where to Find Sample Code

Team Semester Project: Explore a PL Teams of two three or four students One-page Discussion on your Chosen PL Why did you choose your programming language? What types of problems does it solve? What application domain means is it relevant for? Identify all team members Deliverables 12/18/24 page final report on your PL depending upon your team size of 2/3/4 One PowerPoint presentations of 50 / 75 / 100 slides depending upon your team size of 2/3/4 One short PowerPoint presentation for 5-10 minute presentation depending upon the number of teams Demontratee your PL Via code…WCF, WFF, and PIF Let’s Jump to: http://sdcse.engr.uconn.edu/Cse4102/cse4102teamproject.pptx

Cheating/Collaboration Not Tolerated in Any Form!!! Severe Penalties are Likely!!! See University of Connecticut Student Conduct Code All Homeworks/Some Project Represent Individual Effort! Remaining Projects Represent Team Effort Cooperative Problem Solving and Sharing Code is NOT Permitted and Will Likely Lead to Fs! Electronic Information is More Accessible! Use Protection Capabilities on your Account to Protect your Files!

Lateness Policies/Exams Late Assignments (Projects) will Not be Accepted Except with Prior Permission or Emergencies Prior Permission: Contact the Instructor Three Days Before the Due Date Emergencies: Illness, Death in the Family, etc. Contact S. Demurjian at ITE265, x6-4818, by Steven. Demurjian@uconn.edu, or via the CSE Office, ITE250, x6-3719 A Late Assignment is Recorded as a Zero Grade Makeup on Absent Exam at Instructor’s Discretion