University of Cincinnati Logo
 

CS-4003 - Organization of Programming Languages
Electrical Engineering and Computer Science

Lecture Notes Day(s)
Introduction        
    Language primer - variable storage, stack, heap     -
    Parameter passing     Aug 31
    Code safety     -
    Programming language design concepts     -
    Comparison     -
    from c++ to java     reference
    Pointer logic     reference
 
Java    
    Review     -
    Virtual functions - motivation     Aug 29
    Virtual functions and templates in C++     Aug 29
    Virtual functions in Java     Aug 29
    Interfaces     Aug 31
    Threads: basic     Sep 3
    Threads: producer/consumer     Sep 5
    Threads: synchronize, notify, wait     Sep 5
    Threads: deadlock example     reference
    Threads: examples     Sep 7
    Threads: producer/consumer archive of next two java links and more     Sep 7
    Threads: producer/consumer with mutexes in C     Sep 7
    Threads: producer/consumer with mutexes in Java     Sep 7
    Threads: producer/consumer with semaphores     Sep 7
    Threads: producer/consumer with semaphores in Java     Sep 7
    Mutex vs. Semaphore     Sep 7
    Closures     Sep 10
    Dom's Closures     Sep 10
    Closures (in Java)     Sep 10
    Streams     Sep 10
    Data Driven Computation     reference
    Exceptions     Sep 12
    Generics     Sep 14
    Reflection     Sep 17
    Topological Sort     reference
        Object oriented style     reference
        No if or loop statements     reference
        Stream-based solution     reference
        Thread-based solution     reference
 
Scheme    
    Intro     Sep 21
    Review     Sep 21
    Miscellaneous ideas     Sep 21
    Tail recursion     Sep 24
    Y combinator     Sep 26
    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     -
        Woman 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