Home    Course Archive    Video/Audio Library     Papers Archive    CV    My Keeper Shelf    Cultural References in Class Quotes

Home page for Professor Haynes'

COSC 341/342 Programming Languages
FALL 2017


0. Basics
  1. Required Textbooks:
  2. Languages of Implementation: Haskell, C
  3. Syllabus
  4. Calendar
  5. Style Standard
    (Keep it clean. Keep it readable. Keep it honest. Keep it simple.)
  6. Office Hours: M W 1:00 -- 2:00 pm, T R 4:00 -- 5:00 pm
  7. CRN: 17152
  8. Online IDE and Terminal!! Great resource for running code of various languages: Click here for CodingGround
  9. CLion IDE for C development (also other languages): http://www.jetbrains.com/clion/
    Free to students.


1. Lectures
Date Topic Read
12/7 tenthreads.java Notice array of threads, use of join() to wait for thread completion, passing data to a thread through the constructor, dividing an array into rows for threads to work on independently.
https://www.tutorialspoint.com/java/java_thread_synchronization.htm - Synchronizing threads
https://www.tutorialspoint.com/java/java_thread_communication.htm - inter-thread communication
https://www.tutorialspoint.com/java/java_thread_deadlock.htm - deadlock
12/5 Concurrency in Java: threads
http://www.tutorialspoint.com/java/java_multithreading.htm
ThreadClassDemo.java is lightly modified from the tutorialspoint.com multithreading tutorial to make execution of the four (non-interacting) threads more clear.
tenthreads.java
Scott: 13.1.1, 13.2 (13.2.2, 13.2.3-fork/join)
11/30 Subroutines as parameters (deep, shallow binding)
   https://www.cs.fsu.edu/~engelen/courses/COP402003/notes5.html
   https://www2.cs.arizona.edu/~collberg/Teaching/520/2005/Notes/Notes-35.pdf
Scott: 3.6.1
11/28 Parameter passing protocols Scott: 9.3
Examples
11/21 Pointers Scott
11/16 Composite types: Records, Arrays Scott: 8.1, 8.2
11/14 Hourly #2
11/12 Memory hierarchy, powers of 10, powers of 2,
scientific, E, engineering notations.
Pop quiz (see questions and solutions below)
-- http://booksite.elsevier.com/9780124104099/content/Chapters%205%20and%2017/Scott%204e_Chapter%2005.pdf
-- Powers of 10, powers of 2
11/7 Lost Object, dangling reference
Floating point: Do this for practice floating point storage
Scott: Exercise 3.7 page 169-70.
A more focussed paper on IEEE floating point: http://steve.hollasch.net/cgindex/coding/ieeefloat.html
11/1 Two pass assembler (1st pass: build symbol table, 2nd pass: use symbol table)
Template for stack frames
Click here for EXAMPLE using static links and using the static link chain
10/24 Names, Scopes, bindings Scott: 3.1, 3.2, 3.3.1, 3.3.2, 3.3.3
"Check Your Understanding" p 124-5, 135.
10/19 Haskell: higher order functions (last day :-( )
See here for code inclass
and here
Haskell: Chpt 5 (higher order functions).
10/17 Haskell: higher order functions (currying, maps)
See here for code inclass
Haskell: Chpt 5 (higher order functions)
10/12 Haskell: Functions, recursion Haskell: Chpt 3, Chpt 4
10/10 Haskell: list, tuple, list comprehension, type, functions, beginning pattern matching
10/5 Intro to Haskell
Hourly #1
9/28 Regular expression, finite state automaton
9/26 Expression grammar
Language hierarchy
Regular expression
Scott: 2.1
9/21 Review of translation
Backus-Naur Form (BNF) : Grammar and parse tree for simple programming language (Derivation example to follow)
Scott: 1.4, 1.6.1, 2.1
9/19 C: lvalue and rvalue (swap: swap.c ), use of random number generator (Example: useRand.c )
9/14 C: use of pointers
Singly linked list: insert and find
Notes On C
9/12 C: arrays, run-time arguments, printf(), scanf(), arrays, expressions
C operator precedence
Notes on C
9/7 Course overview

2. Assignments
Identifier Type Distributed Due
HW 1205: Simple multi-threading Programming + Demo 12/5 12/12
HW 1130: Shallow/Deep Binding, Scott #3.18, 3.19 Written 11/30 12/5 Solution
HW 1116 struct and array size and offset Written 11/16 11/21 Solution
Project #1 -- Symbol Table Demo + Programming 11/2 11/16
HW 1024
Scott Exercises: 3.1, 3.5, 3.6, 3.7 (extra credit), 3.11, 3.14
Written 10/24, 26 10/31 Solution
HW 1017: Even More Haskell Exercises (currying, map, filter) Demo + Programming 10/17 10/24 Solution
HW 1012: More Haskell Exercises Demo + Programming 10/12 10/19
Inlab/HW 1010 Demo + Programming 10/10 10/12
HW 0926 RE and FSA exercise Written 9/26 Do not turn in
HW 0921 Simple derivations Written 9/21 9/26
HW 0919 -- more C Programming 9/19 9/26
0907 - simple C exercises Programming 9/7 9/19

3. Tests
Last changed: