Download presentation
Presentation is loading. Please wait.
1
CSE4102 Programming Languages
Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut 371 Fairfield Way, Box U-255 Storrs, CT (860) 486–4818 (Office) (860) (CSE Office) Teaching Assistants – ITE140? Office hours to be announced Chaoqun Yue Yanyuan Qin
2
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
3
Main Textbook Robert W. Sebesta, Concepts of Programming Languages, 10th Ed, Pearson ISBN 10: ISBN 13:
4
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
5
Three Main Assignments
One or Two Semester Exams Individual - Developing Code in Different Programming Languages Utilize a Common Problem Utiliz Suite of IDEs Also use GNU Compiler Family 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
6
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
7
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+
8
Coding in Multiple Programming Languages
Utilize a Common Problem 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
9
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
10
All Programming Assignments Posted
PLA1 C Program - Due January 31, 11:59pm Implement the Frequency Functional (WFF) in C as described in: PLA2 Pascal Program - Due February 14, 11:59pm Implement the Word Count Functionality (WCF) and Frequency Functional (WFF) in Pascal as described in: 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: Version 1 single module Version 2 Single module with Sorting and three procedures
11
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: 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 :
12
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
13
PLA1 Implement the Word Frequency Functionality (WFF) in C as described in: Tests: 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 #, $, &, (, ), etc.s lso, note that you must eliminate white space (multiple spaces or tabs) between words.
14
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
15
GNU Compilers
16
GNU Compilers (mostly)
17
Where to Find Sample Code
18
Where to Find Sample Code
19
Where to Find Sample Code
20
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:
21
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!
22
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. 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.