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 2007

Topics Covered

Instructor:

     Dr. Ajay K. Gupta

Topics Covered:

Updated 14-Aug-2007

06/29/2007

  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

07/02/2007

  1. Lexical Analysis
  2. FSMs
  3. Symbol Tables
  4. Hashing
  5. Do the homework practice problems on FSMs as given in the class
  6. Lecture 2 notes
  7. Read chapter 2, sections 3.1 and 3.2, sections 4.1 and 4.2 of the Sebesta textbook
  8. HW1 given
  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/06/2007

  1. FSM and lexical analysis continued; Examples and homework practice problems from last lecture may be contd
  2. Regular Exressions
  3. HW1 discussion (note: you could use hashing with home and overflow area. Size of the home area for the ST would then be 256 records and overflow area of (ideally) unlimited size.)
  4. Lex
  5. Lecture 3 notes
  6. Read lex related documentation. A concise manual is Lex - A Lexical Analyzer Generator by Lesk and Schimdt

 

07/09/2007

  1. HW1 discussion - ST, hashing etc
  2. Lex/Flex contd.
  3. Lecture 4 notes - refer to Lecture 3 notes

07/11/2007

  1. Lisp, pure lisp, commonLisp, cLisp
  2. 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/13/2007

  1. Lisp continued
  2. chapter 5 - names, bindings, scope,...
  3. Lectre 6 notes
  4. HW2 out

07/16/2007

  1. Names
  2. Variables and their attributes
  3. Bindings (language design, compile time, runtime, etc)
  4. Type Bindings, Type Checking, Type Comptability
  5. Lifetime based variable categories- Static, Stack-Dynamic, Explicit and Implicit Heap Dynamic,
  6. Lecture 7 notes

07/18/2007

  1. Scope, named constants, etc (chpater 5 topics contd)
  2. read the topics from chapter 5 not covered in class
  3. quiz1

07/20/2007

  1. discussion on hw2, more lisp examples
  2. data types - primitive, ordinal, strings, arrays,..(chapter 6 topics)
  3. read chapter 6 (even if all the material may not be covered explicitly in lectures) - you are responsible for it in the exams.
  4. lecture 9 notes
  5. quiz2

07/23/2007

  1. data types - primitive, ordinal, strings, arrays,..(chapter 6 topics)
  2. read chapter 6 (even if all the material may not be covered explicitly in lectures) - you are responsible for it in the exams.
  3. lecture 10 notes
  4. HW3 released

07/25/07

  1. Examination 1 - closed notes, books, laptops, PDAs; calculator is allowed. It will cover material covered in class till 07/24/07; 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..G O O D    L U C K
  2. Parsing - context free grammers - introduction, definition, sentential forms, derivations

07/27/2007

  1. Exam1 solutions discussion
  2. CFG examples - assignment expression statement
  3. Parsing
  4. Read Yacc documentation
  5. no formal lecture notes

07/30/2007

  1. Parsing contd.
  2. Yacc
  3. Lex & Yacc
  4. Lecture 13 notes

08/01/2007

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

08/03/2007

  1. hw3 due; hw4 assigned
  2. control structures contd
  3. Lecture 15 notes
  4. read chapter 8 of the textbook
  5. read logical control structures, conditional/undcoditional branching, guarded commands - these were not covered explicitly in the lecture but you are responsible for the material.
  6. HW3 due date postponed to Monday, 08/06/07, midnite

08/06/2007

  1. control structures contd.
  2. Program unit-level control structures
  3. Subprograms & their design issues; Referencing Environments
  4. Parameter-Passing Methods
  5. Passing subprograms as parameters
  6. Overloaded Subprograms & Generic Subprograms
  7. Coroutines
  8. Lecture 16 notes
  9. Read chapter 09 of the book

08/08/2007

  1. Program unit-level control structures contd.
  2. Passing subprograms as parameters
  3. Overloaded Subprograms & Generic Subprograms
  4. Coroutines
  5. Lecture 17 notes
  6. Read chapter 09 of the book

08/10/2007

  1. Exception Handling
  2. Lecture 18 notes
  3. Read chapter 14 of the book
  4. Parallel/Distributed/Concurrent models of computation
  5. PRAM and its derivatives
  6. an exmaple (findMax) to show power/efficiencies of PRAM models

08/13/2007

  1. PRAM discussion contd.
  2. Concurrency
  3. Lecture 18-19 notes
  4. Read chapter 13 of the book - details of semaphores/monitors/message-passing not covered.
  5. Functional and Logic programming languages
  6. Read chapters 15 and 16 of the book - from exam2 point of view know the aspects related to LISP.

08/15/2007

  1. Exam2: 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..
  2. G O O D    L U C K

08/17/2007

  1. HW4 due, 1:00pm - no late submissions.
  2. Concluding discussions.
  3. Cleaning up of the semester work...

08/18/2006 and onwards - SUMMER BREAK till 9/4/2007

 

Home