University of Cincinnati Logo
 

CS-3003 - Programming Languages
Electrical Engineering and Computer Science

Lecture Notes Day(s)
Introduction        
    Language primer - variable storage, stack, heap     try this
if you had problems
with lecture 1

    Language nuances can cause trouble     Aug 26
    Programming language design concepts     Aug 28
    Comparison     Aug 28
    Parameter passing     Aug 30
    Code safety     Aug 30
    Pointer logic     reference
 
Java    
    Review     -
    Virtual functions - motivation     Sep 4
    Virtual functions and templates in C++     Sep 4
    Virtual functions in Java     Sep 4
    Interfaces     Sep 6
    Threads: basic     Sep 9
    Threads: producer/consumer     Sep 9
    Threads: synchronize, notify, wait     Sep 9
    Threads: deadlock example     reference
    Threads: examples     Sep 11
    Threads: producer/consumer archive of next two java links and more     Sep 13
    Threads: producer/consumer with mutexes in C     Sep 13
    Threads: producer/consumer with mutexes in Java     Sep 13
    Threads: producer/consumer with semaphores     Sep 13
    Threads: producer/consumer with semaphores in Java     Sep 13
    Mutex vs. Semaphore     Sep 16
    Closures     Sep 16
    Dom's Closures     reference
    Closures (in Java)     reference
    Streams     Sep 16
    Data Driven Computation     reference
    Exceptions     Sep 16
    Generics     Sep 18
    Reflection     -
    Topological Sort     reference
        Object oriented style     reference
        No if or loop statements     reference
        Stream-based solution     reference
        Thread-based solution     reference
 
Scheme    
    Intro     -
    Review     -
    Miscellaneous ideas     -
    Tail recursion     -
    Y combinator     -
    define-syntax     -
    Search (N queens)     -
    Special data structures lecture     -
    lambda     -
    Stream examples     -
    Scheme heaps and call-with-current-continuation     -
    call-with-current-continuation     -
    call-with-current-continuation     -
    Object oriented programming     -
    Topological Sort     -
        Stream-based solution     -
        Define-syntax solution     -
        State-based solution     -
        Bitcoin and the Tiger     -
 
Haskell    
    Summary     -
    Basics     -
    Post break review     -
    Exceptions     -
    Types     -
    Functors     -
    Monads     -
    Monads Examples     -
    Topological Sort     -
        State-based solution     -
 
Cryptol     -
    Introduction     -
    Examples     -
    Crib sheet     -
    tests.cry     -
    bitcoin.cry     -
    cave.cry     -
    fox.cry     -
    mergesort + correctness     -
    binary search     -
    DES     Cipher.cry     DES.cry     -
    ZUC.cry     explanation     -
    mostek.cry     explanation     -
 
Control Flow    
    Expression evaluation     -
    Structured and unstructured flow     -
    Selection     -
    Iteration     -
    Recursion     -
 
Subroutines     -
    Parameter passing     -
    Exception handling     -
    Coroutines     -
 
Review     -
 
ERC
MainStreet
Paul Erdos
NIT
Ladies on Campus
Oscar Robinson