CMSC 208: Grammars, Languages, Automata
(Spring 2019)


TuTh 9:30-10:45am Ruffner 354


Course Information Handout/Syllabus

Academic Honesty in Programming
Linz text
Instructor:
Scott McElfresh
x2249       Ruffner 346
ProfScottMcElfresh @ gmail.com
Website

Office Hours:
(no appointment needed,
just drop by during these times)


yellow divider
Calendar
Mon, Jan 14

Tue, Jan 15

Topics:
  • Introduction
  • Review of Sets and Logic
Assigned for Thursday Jan 17:
Watch the following videos for review:
Finish the review sheet handed out in class:
Wed, Jan 16

Thu, Jan 17
Daily assignment due:  
  • Watch the videos assigned Tuesday
  • Finish the review sheet handed out in class on Tuesday.

Topics:
  • Sets and Logic review
  • Summation notation
  • Mod arithmetic

Assigned:
Daily assignment for Tue, Jan 22:
Graded Homework due Tue, Jan 22:
Fri, Jan 18

yellow divider
Mon, Jan 21

Tue, Jan 22
Daily assignment due:  the reading and videos assigned
Graded Homework due:  Review HW

Topics:
Assigned:
  • Sums Programming  (due Tue, Jan 29)
  • Daily assignment for Th, Jan 24  
    • Mathematical induction example in section 1.1 of the book
    • watch these videos about mathematial induction examples
Wed, Jan 23

Thu, Jan 24
Daily assignment due:  videos and reading from Tuesday

Topics:
  • mathematical induction

Daily Assignment for Tue, Jan 29:
Do as much as you can on the 15 induction problems on the worksheet given in class.    Be prepared to discuss and present what you have.
Fri, Jan 25

yellow divider
Mon, Jan 28

Tue, Jan 29
Daily Assignment due:   induction problems frmo Th
Also due at beginning of class:  Sums Programming

Topics:
  • induction examples

Optional:
Computer Science internship presentations
3:30pm Ruffner 350
Wed, Jan 30

Thu, Jan 31

Topics:
  • induction wrapup and structural induction
Fri, Feb 1

yellow divider
Mon, Feb 4

Tue, Feb 5

Topics:
  • intro to DFAs
Wed, Feb 6

Thu, Feb 7

Topics:
  • DFAs
Assigned for Tue, Feb 12:

1) Get the JFLAP software. It is on the CD that comes with the textbook, but you can also download it for free from this site. I am using the version May 15, 2011 - JFLAP Version 7. http://www.jflap.org/ Explore what you are able to do after you click on the Finite Automaton button.   Try to create one of the pictures from the reading in Section 2.1.

2) Read Section 2.1 of the textbook.

3) Come to class with your solutions to the following problems on pages 48 and 49:  (on paper or in JFLAP, your choice)

  • 3 (all parts)
  • 4 (a, b, and c)
  • 5 (a, b, and c)
  • 6
  • 7 (a, b, and c)    Note that the notation na (w)   means the number of a's in the string w.
  • 8 (a and b)
  • 11 a
Fri, Feb 8

yellow divider
Mon, Feb 11

Tue, Feb 12
DUE:  Take home quiz handed out on Th, Feb 5
DUE: homeworks assigned on Th, Feb 5

Topics:
  • DFAs, continued
Assigned for Thu, Feb 14:

Download Racket to your laptop. Bringyour laptop to class Thursday if convenient.

Assigned for Tue, Feb 19:

DFA worksheet

Photos:

Wed, Feb 13
Thu, Feb 14
Topics:
  • Limits of DFAs
  • Prefix notation
  • Racket

Photos:

Code from class:


Fri, Feb 15

yellow divider
Mon, Feb 18

Tue, Feb 19

Topics:
  • more with functional programming in Racket

Assigned: for Th, Feb 21:
Exploratory worksheet
Wed, Feb 20

Thu, Feb 21

Topics:
  • Racket wrap-up
  • intro to non-determinism
Assigned:
  • For Tue, Feb 26:
    • Read section 2.2 of the book on non-determinism
    • Come to class with your attempts to exercises 5-13 on page 57.
  • For Th, Feb 28:  (beginning of class)
    • Consider problem 11d on page 49.
    • Create a JFlap file that has an automaton that  accepts that language.
    • Create a text file with at least 20 reasonable test cases for your automaton (including strings that should be accepted and some that should not be accepted).
    • Submit the JFlap file and the text file to the appropriate places in Canvas.
  • For Fri, March 1:
Fri, Feb 22

yellow divider
Mon, Feb 25

Tue, Feb 26
Due:  non-determinism reading and exercises
Topics:
Wed, Feb 27

Thu, Feb 28
Due:  problem 11d on page 49. (beginning of class)

Inclass Exam
Fri, March 1
Due 5pm:  Racket HW

yellow divider
Mon, March 4 - Friday, March 8

Spring Break   No Classes

yellow divider
Mon, March 11

Tue, March 12

Topics:
Wed, March 13

Thu, March 14

Topics:
Fri, March 15

yellow divider
Mon, March 18

Tue, March 19

Topics:
Wed, March 20

Thu, March 21

Topics:
Fri, March 22

yellow divider
Mon, March 25

Tue, March 26

Topics:
Wed, March 27

Thu, March 28

Topics:
Fri, March 29

yellow divider
Mon, April 1

Tue, April 2

Topics:
Wed, April 3

Thu, April 4

Topics:
Fri, April 5

yellow divider
Mon, April 8

Tue, April 9

Topics:
Wed, April 10

Thu, April 11

Topics:
Fri, April 12

yellow divider
Mon, April 15

Tue, April 16

Topics:
Wed, April 17

Thu, April 18

Topics:
Fri, April 19

yellow divider
Mon, April 22

Tue, April 23

Campus-wide Research Day
No classes
Wed, April 24

Thu, April 25

Topics:
Fri, April 26

yellow divider
Mon, April 29

Tue, April 30

Topics:
Wed, May 1

Thu, May 2

Fri, May 3

yellow divider
Mon, May 6


Tue, May 7

Final Exam
11:30am-2pm
Details TBA
Wed, May 8
Thu, May 9

Fri, May 10

yellow divider