Design and Re-engineering
|
Lectures on Abstractions and Paradigms
|
Distributed
Systems
- Communicating sequential processes slides
- Distributed processes slides
- Self stabilization slides
- Distributed shared memory slides
- Commit protocols slides
- Distributed deadlock detection slides
- Distributed mutual exclusion slides
- Logical clocks slides
- Remote procedure calls slides
- Distributed file systems slides
- Interoperability introduction slides
- Leader election slides
|
Software
Architecture
- Monitor Servers vs ordinary servers slides
- Push/pull Architectures slides
- Patterns in Software Architecture slides
- Software Architecture pdf
- An Introduction to Software Architecture ppt
- SOA & EDA pdf
- Process Patterns slides
- Architecture Extraction from OO Sources pdf
- Evolution of SOA pdf
- Mobile Code and Agents pdf
- Corba: An introduction pdf
- Introduction to BPMN slides
- BPMN choreography, conversations, elements slides
- BPMN Activities and Gateways slides
- BPMN event gateways, markers, Events slides
- Ontologies in Software Architecture slides
- CCS, and CCS Based Architecture Modeling slides
|
Principles of Object
Orientation
full course on object oriented systems slides
(video recording available with cdeep) |
Programming langugaes
- Primitive Types, Composite Types slides
- More composites, Subtyping and Subsumption slides
- Function Subtypes, Top and Bottom types,
Overloading slides
- Subtyping in Object Oriented Languages slides
- Types, Subtypes, Type Constructors, Polymorphism
slides
- Variables and locations slides
- Untyped Lambda calculus pdf
- OOP basic principles slides
- OOPLs: paradigmatic and implementation issues slides
- OOPL implementation of objects and inheritance slides
|
Object Oriented
Analysis and Design
- OO Modeling pdf
- OOA Processes pdf
- part-whole structures pdf
- Design Patterns pdf
- Dynamic Modeling pdf
- Which Design is Better? pdf
- Measuring OOD pdf
- Thinking about Quality Designs pdf
- Techniques for Design Improvements pdf
|
Programming in Java
- Program, Data, Control, Interfaces, Classes,
Objects pdf
- Initializer, Finalizer, Primitive types, Operators,
Parameters pdf
- Problem solving through programming (general) pdf
- Interfaces, inheritance and polumorphism pdf
- Working through Inheritance pdf
- Threads and Synchronization, Wait/Notify pdf
- Streams pdf
- Exceptions, Assertions, Contracts pdf
- Packages, Jars, Applets, Mouse handling pdf
- Nested classes, class Object pdf
- Lots of Programs here
|
Operating Systems
|
CS101 Programming in
C++
- Background and Introduction slides
- Basic Elements of a Program slides
- Variables, Values, Types, Assignment slides
- Expressions and Control Flow slides
- Control Flow: Iteration and Loop Design slides
- Iteration continued.. Arrays and the For loop slides
- Arrays and loops slides
- Functions slides
- Separate compilation, and a program development
technique slides
- More on Parameters, Arrays as parameters slides
- Arrays as parameters, Recursion slides
- Recursion slides
- Classes slides
- Modularity abstractions, Libraries Classes for File
Handling slides
- Revisiting values, parameter passing and
pointers slides
- Typecasting, char pointers, arguments to main, strings
slides
- 2D arrays slides
- Searching and Sorting slides
- n-way branching, structures vs. classes, linking slides
- Random numbers, monte carlo, shell commands slides
- Operator Overloading slides
- Reuse through inheritance slides
|
Filters, aspects, agents
- On aspect orientation pdf
- Filter Objects for MICO pdf
- Message-based models for Evolution pdf
- Filter Objects: Programming Models and Applications pdf
- Implementing Assertions in Distributed Systems pdf
- Requirements Aspects: Early Aspects in Agent Oriented
Modeling pdf
|
Misc. Talks/Articles
- White Box Testing pdf
- A Talk on Writing pdf
- Program Development: The Seed Process article
- Seminars: The Process article
|