CS332, Organization Of Programming Languages

1y ago
37 Views
9 Downloads
255.14 KB
6 Pages
Last View : 17d ago
Last Download : 2m ago
Upload by : Raelyn Goode
Transcription

CS332, Organization of Programming LanguagesCourse Description: A comparative study of different programming paradigms. Students program inseveral languages chosen to illustrate the essential features of the paradigms studied. Formallanguage concepts are also introduced.Goals: The purpose of this course is to familiarize students with the mechanics of programminglanguages through a comparative study of different programming paradigms (e.g. Imperative,Declarative, Functional and Object Oriented). It also gives students an opportunity to learn andprogram in several languages (e.g. C, C , Java, Lisp, R, Prolog and others). An introduction of theformal language concepts is given.Textbook: Michael L. Scott, "Programming Language Pragmatics, 4th Ed.", MorganKaufman, 2015., Companion Materials, Author Website, ISBN 978-0-12-374514-9.Weekly Syllabus [Please Consult Canvas as well]Week-1: Read: PLP (Programming Language Pragmatics), Chapter 1 Read: Big Data in the Cloud Lecture: What Defines a Programming Language and Why So Many, Lecture-1 Final Research Project - PL Comparison Analysis Effort Scaffolding – Lecture-Week-1-PLResearch-TopicWeek-2: Read: PLP (Programming Language Pragmatics), Chapter 2 & 3 Lecture: Programming Language Syntax Lecture-2 Lecture: Names, Scope and Binding Lecture-3Week-3: Read: PLP (Programming Language Pragmatics), Chapter 4 & 5 Lecture: Semantic Analysis and Code Generation Lecture-4Week-4: REVIEW of Material through Chapter 5 QUIZ - Chapters 1-5, Part-1 on Foundations, Quiz Solutions Handed out, PostedWeek-5: Read: PLP (Programming Language Pragmatics), Chapter 6 Lecture: Core Language - Control Flow Lecture-5 Discuss and Assignment #3Week-6:

Read: PLP (Programming Language Pragmatics), Chapter 7 Lecture: Core Language - Data Types Lecture-6Week-7: Read: Review PLP (Programming Language Pragmatics), Chapters 1 to 7 Lecture: Wrap up of Concepts Chapters 1 to 7 and Look-ahead to Part 2 Discussion: Short-comings of Procedural Imperative Programming Languages Lecture: Core Language - Subroutines, Calling Conventions Lecture-7Week 8 – Exam #1– Chapters 1 to 7REVIEW Lecture: Lecture-Review-1EXAM-1: PLP, Chapters 1 to 7 and Assignments 1 to 3Knowledge, ConceptsTheories and PracticeSPRING BREAK - 3/9 to 3/13 – NO CLASSWeek-9: EXAM-1: Solutions and Results, Return Mid-term and Review Solutions in Class Read: PLP (Programming Language Pragmatics), Chapter 8 Lecture: Core Language – Final Wrap-up on Imperative Procedural PLs - Lecture-9 Final PL Comparison Analysis Effort Scaffolding – Lecture-PL-Research-TopicWeek-10: Read: PLP (Programming Language Pragmatics), Chapter 9 Lecture: OO Programming (Review of C and Java Goals) Lecture-10-A Read: PLP (Programming Language Pragmatics), Chapter 10 Lecture: Functional Programming with LISP Lecture-10-BWeek-11: Read: PLP (Programming Language Pragmatics), Chapter 11 Lecture: Logic Programming with PROLOG and Other Alternate PLs (e.g. Halide)Lecture-11-A Lecture: Lecture-11-BWeek-12: Read: PLP (Programming Language Pragmatics), Chapter 12 & 13 Lecture: Concurrency Programming with Library vs. Built-in Concurrency Lecture-12-A Lecture: Lecture-12-B

Week-13: QUIZ - to Warm-up for Exam #2 REVIEW for EXAM #2 – Lecture-13-ReviewWeek-14:EXAM-2: Chapters 8, 9, 10, 11, 12, 13Knowledge, ConceptsTheory and Practice in ClassWeek-15: Questions on final PL research project and presentation In class help on issues with final PL research project – overview of expectationsWeek 16 – FINAL EXAMS, Programming Language Design Compare: TBD(Individual Programming Language Design Research – 15 minutes each)

Learning Outcomes:1. Develop a familiarity with historical aspect of programming languages. (2, 6)oWeek-#1, Assignment #12. Understand the criteria for evaluating a programming language. (1, 2)oWeek-#2, Assignment #13. Understand the concept of formal languages. (1, 2, 3)o4.Week-#3, Assignment #2Understand different programming paradigms and their features by designingexperiments to compare a common algorithm implemented in two distinctlydifference programming languages. (3)oWeek-#4, Assignment #3oFinal Report and Oral Examination (interpreter, compiler or alternative programminglanguage comparison study)5. Learn and program in several languages. (2, 6)o[PRCAssignment general C/C , Lisp, Scheme, Prolog and Java programming]oWeek-#9, Week-#10, Assignment #56. Learn the philosophy underlying language design. (6)oWeek-#3, Week-#4, Week-#5, Quiz #1, Mid-term7. Understand different terms like “type checking”, and “pointers”. (1, 2)oWeek-#5, Week-#6, Assignment #38. Understand how procedure activation, different parameter passing methods, types ofexpression evaluations and scope rules work. (1, 2)oWeek-#9, Assignment #49. Learn object oriented thinking and concepts like derived classes and information hiding. (2, 6)oWeek-#10, Assignment #410. Become familiar with features of other programming paradigms including’ one or more ofevent driven programming, logic programming, concurrent programming, networkprogramming etc (4, 6)oWeek-#10, Week-#11, Week-#12, Assignment #5, Assignment #6ABET Outcome Statements (Expectations of student knowledge and skills attained by graduation)1. An ability to identify, formulate, and solve engineering problems by applying principles ofengineering, science, and mathematics.2. An ability to apply the engineering design process to produce solutions that meet specified needswith consideration for public health and safety, and global, cultural, social, environmental,economic, and other factors as appropriate to the discipline.

3. An ability to develop and conduct appropriate experimentation, analyze and interpret data,and use engineering judgment to draw conclusions.4. An ability to communicate effectively with a range of audiences.5. An ability to recognize ethical and professional responsibilities in engineering situations andmake informed judgments, which must consider the impact of engineering solutions in global,economic, environmental, and societal contexts.6. An ability to recognize the ongoing need to acquire new knowledge, to choose appropriatelearning strategies, and to apply this knowledge.7. An ability to function effectively as a member or leader of a team that establishes goals, planstasks, meets deadlines, and creates a collaborative and inclusive environment.ABET Objectives Statements (Expectations of our alumni working within industry)The objectives of the College of Engineering are to produce engineers who:Demonstrate achievements in their chosen professionContribute to the development of the professionEngage in professional growthContribute to the welfare of society through serviceExamples of activities which demonstrate each of these objectives include:Demonstrate achievements in their chosen professionProject LeadershipTechnical LeadershipReceived professional recognitionStrong early-career performanceContribute to the development of the professionEducational improvement within professionProduct development or improvementPresentation, publications, patentsEngage in professional growthMembership in technical societiesObtaining additional educationAchieved career advancementContribute to the welfare of society through serviceParticipation in activities outside the professional areaERAU ACADEMIC INTEGRITY POLICY:Embry-Riddle is committed to maintaining and upholding intellectual integrity. All students, faculty, andstaff have obligations to prevent violations of academic integrity and take corrective action when theyoccur. The adjudication process will include the sanction imposed on students who commit the following

academic violations, which may include a failing grade on the assignment, a failing grade for the course,suspension, or dismissal from the University.A. Plagiarism: Presenting as one’s own the ideas, words, or products of another. Plagiarismincludes use of any source to complete academic assignments without proper acknowledgmentof the source.B. Cheating is a broad term that includes the following:1. Giving or receiving help from unauthorized persons or materials during examinations.2. The unauthorized communication of examination questions prior to, during, orfollowing administration of the examination.3. Collaboration on examinations or assignments expected to be individual work.4. Fraud and deceit, which include knowingly furnishing false or misleading information orfailing to furnish appropriate information when requested, such as when applying foradmission to the University.Civil Rights Equity and Title IXERAU seeks to provide an environment that is free of bias, discrimination, and harassment. If you havebeen the victim of harassment, discrimination or sexual misconduct, we encourage you to report this. Ifyou inform me of an issue of harassment, discrimination, or sexual misconduct I will keep theinformation as private as I can, but I am required to bring it to the attention of the institution’s Title IXCoordinator. If you would like to talk to the Title IX Coordinator (Liz Higgins Frost) directly, she can bereached at Building 49, Dean of Students Office, 928-777-3747, froste@erau.edu. For moreinformation, please refer to the Nondiscrimination/Title IX webpageat nduct-and-title-ix/index.html.Access to LearningERAU is committed to access for all students. It is University policy to provide reasonableaccommodations to students with disabilities who qualify for services. If you would like to discussand/or request accommodations, please contact Disability Support Services (DSS). DSS is located on thefirst floor of Hazy Library, at the end of the hall.CONTINUITY STATEMENT:In the event of a temporary campus closure this course will continue on Canvas with ongoingcommunications to occur through electronic means. Further instructions will be posted on Canvasregarding completion and submission of course requirements. All materials found on Canvas are alsoavailable on http://mercury.pr.erau.edu/ siewerts/cs332/ and if Canvas is down, you may submitassignments via e-mail, but only if Canvas is down and you must later also submit on Canvas when it’sback up.

Become familiar with features of other programming paradigms including’ one or more of event driven programming, logic programming, concurrent programming, network programming etc (4, 6) o Week -#10, Week #11, Week #12, Assignment #5, Assignment #6. ABET Outcome Statements (Exp

Related Documents:

Become familiar with features of other programming paradigms including’ one or more of event driven programming, logic programming, concurrent programming, network programming etc (4, 6) o Week -#10, Week #11, Week #12, Assignment #5, Assignment #6. ABET Outcome Statements (Exp

-graphical programming languages PLC ladder diagram Classification according to programming language paradigm -procedural programming languages C, Ada83 -functional programming languages LISP -logical programming languages PROLOG -object-oriented programming languages C , Smalltalk, Ada95 Classification according to language level

1 Languages at Harvard 2014 – 2015 Why Study a Foreign Language? 2 Planning Your Language Study 5 Languages Offered 2014-2015 (by Department) 6 African Languages 7 Celtic Languages 9 Classical Languages 10 East Asian Languages 11 English 17 Germanic Languages 17 Linguistics 20 Near Eastern Languages 21 Romance La

the bit patterns. So, these machine languages were the rst programming languages, and went hand-in-hand with general-purpose computers. So, programming languages are a fundamental aspect of general-purpose computing, in contrast with e.g., networks, operating systems, and databases. 1.1 The Pre-History of Programming Languages

The study of programming languages is valuable for a number of reasons: Increase our capacity to use different constructs Enable us to choose languages more intelligently Makes learning new languages easier Most important criteria for evaluating programming languages include: Readability, writability, reliability, cost

Organization of Programming Languages-Cheng (Fall 2004) 22 Design Trade-offs?Flexibility vs Safety?Pascal variant records allow a memory cell to contain either a pointer or an integer?This allows a program to do arithmetic on pointers, which is sometimes convenient, but is a dangerous practice. Organization of Programming Languages-Cheng (Fall .

targeted at a particular type of programming practice. Domain-specific languages are programming languages designed for writing programs for a particular kind of work or practice. End-user programming may or may not involve such languages, since what de-fines end-user programming is the intent, not the choice of languages or tools. 2.3.

glorified beyond its due by making analytic geometry and calculus its slaves. With the plethora of new ideas that cannot be avoided in the early portion of the course, it seemed prudent to allow the students the comfort of their familiarity with plane rectangular coordinates for any new work on standard graphs and to. delay introducing vectors until Chapter 8. Even here the third dimension is .