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     -
    Code safety     -
    Programming language design concepts     -
    Comparison     -
    from c++ to java     reference
    Pointer logic     reference
 
Java    
    Review     -
    Virtual functions - motivation     -
    Virtual functions and templates in C++     -
    Virtual functions in Java     -
    Interfaces     -
    Threads: basic     -
    Threads: producer/consumer     -
    Threads: synchronize, notify, wait     -
    Threads: deadlock example     reference
    Threads: examples     -
    Threads: producer/consumer archive of next two java links and more     -
    Threads: producer/consumer with mutexes in C     -
    Threads: producer/consumer with mutexes in Java     -
    Threads: producer/consumer with semaphores     -
    Threads: producer/consumer with semaphores in Java     -
    Mutex vs. Semaphore     -
    Closures     -
    Dom's Closures     -
    Closures (in Java)     -
    Streams     -
    Data Driven Computation     -
    Exceptions     -
    Generics     -
    Reflection     -
    Topological Sort     -
        Object oriented style     -
        No if or loop statements     -
        Stream-based solution     -
        Thread-based solution     -
 
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     -
        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     -
    cribsheet.cry     -
    mergesort and correctness     -
    ZUC.cry     explanation     -
    DES     DES.cry     3DES.cry     -
    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