WMich Home

 

CS Home

 

Ajay Gupta's Teaching Home

 

CS4850 Home
Class Policies  & Syllabus
Topics Covered
Home Work I
Home Work II
Home Work III
Home Work IV
Home Work V
Home Work VI
 
 
 
 
 
Message  Board
Class List
Reading List
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

Email webmaster

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

CS 4850 - Programming Languages - SummerII 2006

Topics Covered

Instructor:

     Dr. Ajay K. Gupta

Topics Covered:

Updated 10-Aug-2006

06/30/06

  1. Syllabus discussion
  2. Discussion on general objectives, requirements
  3. Learn concepts of PLs, why?
  4. Application Domains
  5. PL evaluation criteria
  6. Influences on PL design, Implementation systems
  7. compiling, interpretation, hybrid
  8. Lecture 1 notes
  9. Read chapters 1 and 2 of the Sebesta textbook
  10. HW1 given

07/03/06

  1. Lexical Analysis
  2. FSMs
  3. Symbol Tables
  4. Hashing
  5. Do the homework practice problems on FSMs as given in the class
  6. Kun Wang's Lecture 2 notes
  7. Lecture 2 notes
  8. Read chapter 2, sections 3.1 and 3.2, sections 4.1 and 4.2 of the Sebesta textbook
  9. To get going on HW1, detailed discussion directly from chapter 2 of the book may not be covered in class or covered later. You are still responsible for reading this material. You may refer to Lecture 2a notes for this detailed discussion.

07/05/06

  1. FSM and lexical analysis continued; Examples and homework practice problems from last lecture may be contd
  2. Lex
  3. Wuwei Shen's Lecture 3 notes
  4. Lecture 3 notes
  5. Read lex related documentation. A concise manual is Lex - A Lexical Analyzer Generator by Lesk and Schimdt

 

07/07/2006

  1. FSM Examples
  2. Implementation of FSMs
  3. No specific notes for this lecture - please read the notes from lectures 1, 2 and 3 above.
  4. HW1 due date postponed to Wed, July 12, 2006, start of class.

07/10/2006

  1. Lex contd
  2. Lecture 04 notes
  3. Evaluation criteria for programming languages - readability, writeability, reliability, cost, portability, generality,... see Lecture01 notes
  4. Start reading about lisp - one internet link to get started is http://mypage.iu.edu/~colallen/lp/ Another link is CLISP: http://clisp.cons.org/ (note we have clisp on cs machines). Yet another link is Common Lisp Hints: http://cvs.sourceforge.net/viewcvs.py/*checkout*/clisp/clisp/doc/LISP-tutorial.txt?rev=HEAD

 

07/12/2006

  1. HW1 part1 due (email as well as hardcopy)
  2. Lisp
  3. no online lecture notes, refer to notes from class
  4. read chapter 15 of the Sebesta textbook (note: Scheme is very similar to Lisp).
  5. Some of the internet links are http://mypage.iu.edu/~colallen/lp/ ; CLISP: http://clisp.cons.org/ (note we have clisp on cs machines). Yet another link is Common Lisp Hints: http://cvs.sourceforge.net/viewcvs.py/*checkout*/clisp/clisp/doc/LISP-tutorial.txt?rev=HEAD

07/14/2006

  1. no lecture (recall, lectures are 12:30-3:00 on Mondays and Wednesdays)
  2. HW1 part2 due - atleast email submission by 1:00pm; hardcopy may be submitted on Monday without penalty provided email submission is in time.

07/17/2006

  1. HW2 out
  2. Lisp examples
  3. no online lecture notes, refer to notes from class
  4. read chapter 15 of the Sebesta textbook (note: Scheme is very similar to Lisp).
  5. Some of the internet links are http://mypage.iu.edu/~colallen/lp/ ; CLISP: http://clisp.cons.org/ (note we have clisp on cs machines). Yet another link is Common Lisp Hints: http://cvs.sourceforge.net/viewcvs.py/*checkout*/clisp/clisp/doc/LISP-tutorial.txt?rev=HEAD

07/19/2006

  1. chapter 5 topics - names, binding, scope, variable attributes, ...
  2. Lecture 8 notes
  3. read chapter 5 of the textbook.

07/24/2006

  1. scope, lifetime, named constants - finishing up chapter 5
  2. data types - primitive, ordinal, strings, arrays,...
  3. Lecture 9 notes
  4. Read chapter 6 of the textbook

 

07/26/06

  1. data types (chapter 6 contd) - read the remaining sections yourselves.Lecture 9 notes
  2. Parsing - Context-free grammers
  3. Examination 1 - closed notes, books, laptops, PDAs; calculator is allowed. It will cover material covered in class till 07/24/06; An excellent way to prepare would be to understand the material (in contrast to simply memorizing); understand the implications of various formulations, similarities and differences among various features and techniques; reading the appropriate sections of the book; understanding and doing the homework and programming assignments yourself (in contrast to simply modifying the examples slightly and making them work). You are also responsible for any additional material covered in lectures and homeworks outside of the first six chapters of the textbook. See the lecture-wise topic list above for further details on specific topics..
  4. G O O D    L U C K

07/31/2006

  1. Parsing
  2. CFG
  3. YACC/Bison...
  4. Lecture 11 notes

08/02/2006

  1. substitute to cover the class
  2. class cancelled
  3. read chapter 7 of the textbook

08/072006

  1. expressions
  2. assignment statements
  3. control structures - selection statements (2-way)
  4. Lecture 12 notes
  5. read chapters 7 and 8 of the textbook

08/09/2006

  1. statement-level control structures (selection/iterative)
  2. read chapter 8 of the textbook
  3. unit-level control structures (subPrograms)
  4. read chapter 9 of the textbook
  5. Lecture 13 notes - controlStructs - stmt-level <----> unit-level

08/14/2006

  1. concurrency
  2. exception & event handling
  3. Lecture 14 notes - concurrency <------> exception/event handling
  4. read chapters 13 and 14 of the textbook

08/16/2006

  1. Exam2
  2. Closed books, notes, PDAs and laptops; An excellent way to prepare would be to understand the material (in contrast to simply memorizing); understand the implications of various formulations, similarities and differences among various features and techniques; reading the appropriate sections of the book; understanding and doing the homework and programming assignments yourself (in contrast to simply modifying the examples slightly and making them work). Exam2 will be a comprehensive exam which includes topics covered in 06/30/2006 - 08/14/2006 lectures essentially from chapters 1 to 9, and 13 to 15 of the textbook (you are also responsible for any additional material covered outside of these chapters in lectures and homeworks, such as regular expressions, lex, CFG, yacc, lisp, etc). See the lecture-wise topic list above for further details on specific topics..
  3. G O O D    L U C K

08/18/2006

  1. Concluding discussions.
  2. Cleaning up of the semester work...

08/19/2006 and onwards

 

Home