Select this to skip to main content [CSUSB] >> [CNS] >> [Comp Sci Dept] >> [R J Botting] >> [CSci620] >> syllabi [Source]
[Index] [Schedule] [Syllabi] [Text] [Labs] [Projects] [Resources] [Search] [Grading]
Tue Mar 30 08:27:29 PST 2004


    CS620 Programming Languages Theory


      Generic syllabus: [ syllabus.htm ] plus the CSCI620 Syllabus below.


      [ schedule.html ] If you have an organizer/PDA/Pal etc. you can copy/paste the table into a memo, text file or tab-delimited a spreadsheet.

      CSci620 Syllabus


        This is a 5 unit graduate level class in the syntax and semantics of programming languages. It has a lecture/discussion section and a laboratory section. The theory of programming languages is a mathematical theory based on the study of many different languages. Therefore you need to know one or two programming languages and be ready to do some (mostly discrete) mathematics and symbolic logic.


        Reading: first 8 chapters of text book.

        Writing: A term paper on a topic of your choice selected from any part of the text book. The title and outline needs to be ready by the middle of the quarter. A Title and abstract by the end of the 8th week. The paper will be presented in the last week of the quarter and the written paper handed in at the end of the 10th week.

        The lecture/discussion periods will cover material in a chapter of the text, aim to clarify or reduce all confusion, and include working on exercises.


        I allocate 500 points as follows:
        1. (Laboratories): 140 points at 7 points for progress achieved in each of 20 lab periods. This is a time-boxed grade: how much did you get done in a fixed 50 minute hour? This will involve browsing the web, programming in several languages including C, C++, LISP, Java, and Prolog.

        2. (Term Paper): 20 points for a written paper and 20 points for presenting the paper in class.

        3. (Final Examination): 200 points. Comprehensive. 2 hours. The questions will be short answer and long answer only - no multi-choice or fill-in-the-blanks. Questions will be based on exercises in the book or done in class.

        4. (assigned work): 5 points in 18 sessions, see [ schedule.html ] for readings. Study the readings assigned in the schedule and bring to class your notes and questions. I will expect every one to have a question and may ask to see your notes.

        5. (Participation): 1 point for being on time, 1 point for participating until dismissed.

    . . . . . . . . . ( end of section CSci620 Syllabus) <<Contents | Index>>

    Resources on Programming Languages

    [ resources.html ] [ resources.html ] [ languages.html ] [ HelloWorld.shtml ]

. . . . . . . . . ( end of section CS620 Programming Languages Theory) <<Contents | Index>>


  • BNF::="Backus-Naur Form", for syntax and grammar, developed by Backus and Naur.
  • EBNF::="Extended " BNF.
  • HTML::= "HyperText Markup Language", used on the WWW.
  • HTML_page::syntax= "<HTML>" head body.
  • Java::="An " OO " Language from Sun".
  • LISP::= "LISt Processing Language".
  • LRM::="Language Reference Manual".
  • OO::="Object-Oriented".
  • Prolog::="Programming in Logic".
  • TBA::="To Be Announced".
  • UML::="Unified Modeling Language".
  • URL::=Universal_Resource_Locator,
  • Universal_Resource_Locator::syntax= protocol ":" location, where
    1. protocol::= "http" | "ftp" | "mailto" | ... ,
    2. location::= O( "//" host) O(pathname).

    (End of Net)
  • WWW::= See, index to web site for this class.
  • XBNF::="eXtreme" BNF, developed by the teacher from EBNF, designed to ASCII input of suntax, semantics, and other formal specifications.

    Formulae and Definitions in Alphabetical Order