CSE 324 - Principles of Programming Languages

CSE 324 - Principles of Programming Languages - CSE 324 -...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CSE 324 - Spring 2011 Principles of Programming Languages Lectures Handouts Exams Quizzes Assignments Projects Grading Class Announcements Last updated: Monday, Jan 24, 2011 at 3:30AM Course Information Instructor: Dr. Hamdy Soliman Email: hss@cs.nmt.edu Phone: x.5170 Office: Cramer 211c (inside 214) Monday: 1:30PM - 3:00PM Wednesday: 1:30PM - 3:00PM Also available by appointment Teaching Assistant: Hakan Akkan Email: hakkan@nmt.edu Office : Cramer 220 Office Hours: Tuesdays and Thursdays between 2pm to 3:30 pm By Appointment Class Hours: Cramer 239 Tuesday: 12:30PM - 1:45PM Thursday: 12:30PM - 1:45PM Course Outcomes: After taking the class, students should be able to have: Clear understanding of the major design concepts of a programming language (e.g., syntax, semantics, typing system, recursions, abstraction, polymorphic & generic features, etc). Clear understanding of the trade-offs between important language design goals: security, efficiency, power, robustness, and complexity. Clear understanding of the major linguistic differences between major languages' paradigms: imperative, functional, object oriented, & logic. The ability to critique and properly utilize languages from each of the above paradigms; in building desired software solutions or the design of a new language. Course Description Download the Syllabus and Course Policy. Textbook (required) ISBN-10: 0195113063 "Principles of Programming Languages", 3/E, Bruce J. MacLennan Recommended Reference Books ISBN-10: 0130276782 "Programming Languages: Design and Implementation ", 4/E, Terrence Pratt & Marvin Zelkowitz ISBN-10: 0131554824 "Comparative Programming Languages", 1/E, Linda W. Friedman ISBN-10: 0136291554 "Object-Oriented Software Construction", 2/E, Bertand Meyer ISBN-10: 0201590654 "Programming Languages: Concepts & Constructs", 2/E, Ravi Sethi Lectures Lectures 1 to 3 Lectures 4 to 6 Lectures 7 to 8 Lectures 9 to 11 Lectures 12 to 14 Lectures 15 to 16 Modula-2 Ada I Ada II Ada III Smalltalk Lisp Prolog updated lecture notes (please read the cut section examples and explanations in the Prolog lecture, I updated and corrected some of what I said in the class in red color and big font- page 10) Handouts Modula-2 Generic Stack Example of DYNAMIC-GENERICITY Modula Handouts Following is a Stack ADT example in Modula-2 where we utilize the Modula-2 STATIC-GENERICITY facility Modula-2 Example elements definition module Modula-2 Example elements definition module The above "elements.mi&.md" modules facilitate the importing of a concrete type (e.g., CHAR, INTEGER, REA) into the stack to replece every occurance of "elementtype" dummuy type example is to help in the new Modula-2 List assignment, which facilitates Modula-2 static genericity Modula-2 Example Stack definition module Modula-2 Example Stack implementation module Modula-2 Example main program (implementation)module to use the Stack ADT Exams Midterm Exam: Closed book and Notes Date: Thursday, March 10 Time: 12:30PM - 1:45PM Location: Cramer 239 Midterm Exam Answers Note: Exams are closed book and closed notes Quizzes Quiz #01 Quiz #02 Quiz #03 Quiz #04 Quiz #05 Quiz #06 Quiz #07 Quiz #08 Quiz #09 Quiz #11 Quiz #12 TAKE-HOME Quiz #13 PROLOG-EXAMPLE-HAND-OUT Assignments Assignment 1 -------Solutions Assignment 2 -------Solutions Assignment 3 -------Solutions Smalltalk-project Solution of the Smalltalk-project LISP PROGRAMMING ASSIGNMENT Solution of the LISP-Prog-Assignment Projects Project 1 Due: Friday, April 8 Download: ACM Standard Template (Microsoft Office Format: .doc) Download: Project Layout Example Note: The Project Example is for layout and formatting demonstration only, not the content depth. Project 2 Due: Wednesday, May 4 (Same formatting requirements apply) Grading Exam 1: 25% Exam 2: 25% Programming Assignments & Homework: 25% Semester Project Report: 15% Quizzes & Class Participation: 10% Exams/Quizzes Are Closed Book & Notes Non-Comprehensive Final Examination No Makeup Quizzes || Exams Late Assignmnets: See the Syllabus ...
View Full Document

Ask a homework question - tutors are online