IJJ: The Research Bulletin of JORDAN ACM - ISWSA



ISSN:2078-7952 (print)

EISSN: 2078-7960 (online)




eSaf* Curricula (Visual**)

Course Title Textbook Lecture Notes Instructor Topics
Math for Computer Science Linear Algebra Textbook Lecture Notes Tara Holm
Math Algebra
Algebra Lectures - This series of video lectures from the University of Idaho offers a thorough review of algebra; Linear Algebra Lectures - A series of video lectures on linear algebra from MIT. Lectures are supplemented by video reviews and quizzes.; Differential Equations Lectures - More than 30 free video lectures on differential equations that can be accessed through MIT; Lectures are supplemented with assignments, exams and other study materials; Business Calculus Lectures - This streaming video lecture course from the University of Houston includes lecture outlines and practice problems; Multivariable Calculus Lectures - A collection of nearly 50 free video lectures from UC Berkeley's multivariable calculus course. Each lecture takes approximately 50 minutes from start to finish.
Structure and Interpretation of Computer Programs Computer Program Lectures - This series of free video lectures from UC Berkeley focuses on the structure and interpretation of computer programs. Lectures are also available in audio format.
Discrete Mathematics Josephus problem; audio, Manipulating sums; audio, General methods, audio  Floors and ceilings; audio,  mod (video, audio), divisibility and primes (video, audio), relative primality (video, audio), congruences (video, audio),  basic identities (video, audio), generating functions (video, audio), Stirling/Harmonic #'s (video, audio), Fibonacci numbers (video, audio), basic maneuvers (video, audio), solving recurrences (video, audio), convolutions (video, audio), exponential g. f. (video, audio), mean and variance (video, audio),  probability g. f. (video, audio), degree sequences & invariants (video, audio), trees and connectivity (video, audio), Eulerian and Hamiltonian cycles (video, audio), planarity (video, audio), graph coloring (video, audio), matching (video, audio), Project presentations (video, audio), Project presentation(video, audio)
Discrete Mathematics Textbook

Lecture Notes

Shai Simonson
Sets, functions and sums review , Basic arithmetic , Solving recurrence equations , (cont.) , Mathematical induction , Combinations and permutations , Counting Problems More, Counting problems using combinations, distributions More, , Equivalence Relations and Partial Orders Euclid's Algorithm , Cryptography
Probabilistic Systems Analysis and Applied Probability Probability Models and Axioms (PDF), Conditioning and Bayes' Rule (PDF), Independence (PDF), Counting Sections (PDF), Discrete Random Variables; Probability Mass Functions; Expectations (PDF), Conditional Expectation; Examples (PDF), Multiple Discrete Random Variables (PDF), Continuous Random Variables - I (PDF), Continuous Random Variables - II (PDF), Continuous Random Variables and Derived Distributions (PDF), More on Continuous Random Variables, Derived Distributions, Convolution (PDF), Transforms (PDF), Iterated Expectations (PDF), Sum of a Random Number of Random Variables (PDF), Prediction; Covariance and Correlation (PDF), Weak Law of Large Numbers (PDF), Bernoulli Process (PDF), Poisson Process (PDF), Poisson Process Examples (PDF), Markov Chains - I (PDF), Markov Chains - II (PDF), Markov Chains - III (PDF), Central Limit Theorem (PDF), Central Limit Theorem (cont.), Strong Law of Large Numbers (PDF); Applications: A Simple Radar Example (ZIP) (The ZIP file contains: 3 MatLab (2 .m and 1 .fig) files and 1 .txt file.), A Communication Example: The Binary Symmetric Channel (Java)::Cumulative Density Functions: Continuous Uniform Random Variables (WMV);Normal Random Variables (WMV)::Adding Two Independent Random Variables, Convolution;Discrete Probability Mass Functions (WMV;Uniform Probability Mass Functions (WMV);Normal Probability Mass Functions (WMV)::Sum of a Random Number of Random Variables::Branching Process Simulation (ZIP) (The ZIP file contains: 2 MatLab (1 .m and 1 .fig) files and 1 .txt file)::Limit Theorems:Die Experiment;Negative Binomial Experiment;Galton Board Experiment::Markov Chains:Markov Process Demonstration;Birth-Death Process (Java);Random Walk Experiment (Java);M/M/m Queues (Java)
Introduction to Computer Science and Programming Goals of the course; what is computation; introduction to data types, operators, and variables, Operators and operands; statements; branching, conditionals, and iteration, Common code patterns: iterative programs, Decomposition and abstraction through functions; introduction to recursion, Floating point numbers, successive refinement, finding roots, Bisection methods, Newton/Raphson, introduction to lists, Lists and mutability, dictionaries, pseudocode, introduction to efficiency, Complexity; log, linear, quadratic, exponential algorithms, Binary search, bubble and selection sorts, Divide and conquer methods, merge sort, exceptions, Testing and debugging, More about debugging, knapsack problem, introduction to dynamic programming, Dynamic programming: overlapping subproblems, optimal substructure, Analysis of knapsack problem, introduction to object-oriented programming, Abstract data types, classes and methods, Encapsulation, inheritance, shadowing, Computational models: random walk simulation, Presenting simulation results, Pylab, plotting, Biased random walks, distributions, Monte Carlo simulations, estimating pi, Validating simulation results, curve fitting, linear regression, Normal, uniform, and exponential distributions; misuse of statistics, Stock market simulation, Course overview; what do computer scientists do?
Structure and Interpretation of Computer Programs Textbook Overview and Introduction to Lisp, Procedures and Processes; Substitution Model, Higher-order Procedures, Compound Data, Henderson Escher Example, Symbolic Differentiation; Quotation, Pattern Matching and Rule-based Substitution, Generic Operators, Assignment, State, and Side-effects, Computational Objects, Streams I, Streams II, Metacircular Evaluator I, Metacircular Evaluator II, Logic Programming I, Logic Programming II, Register Machines, Explicit-control Evaluator, Compilation, Storage Allocation and Garbage Collection
How Computers Work Textbook

1, 2, 3,4, 5, 6, 7, 8, 9, 10, 11, 12, 13

Gill Pratt
Introduction to the BETA ISA, Storage Allocation, Stack Discipline, Calling Conventions, Unpipelined Beta, Exceptions, Implementing the ALU, Implementation of Beta Memorie, Synchronous Finite State Machines (FSMs), Flip flops, Asynchronous FSMs, Dynamic Discipline, Timing, Arbitration and Metastability, Static Discipline, Transistor-level design, Physics of Communication and Computation, Physics of Computation, Pipelining, Details of the Pipelined Beta, Caches, Virtual Memory, Paging
Computer System Engineering Introduction to systems, Complexity in computer systems, Abstractions, Naming, Fault isolation with clients and servers, Virtualization, virtual memory, Virtual processors: threads and coordination, Performance, Introduction to networks, Layering and link layer, Network layer, routing, End-to-end layer, Congestion control, Distributed naming, Reliability, Atomicity concepts, Recoverability, solation, Transactions and consistency, Multi-site atomicity, Security introduction, Authentication, Authorization and confidentiality, Advanced authentication, Complex, trusted systems, Guest lecture: Prof. Hal Abelson        
Computer Language Engineering Course Administration Information and Overview (S) (PDF) (RM) (MP3), Scanner Parser Project (PDF) (Courtesy of Punyashloka Biswal), (RM), (MP3), Overview of Programming Languages (M), Regular Expressions, Language Specification by Formal Grammars (M) (PDF), Parse Table Construction (M) (PDF), Top-down Parsing (M) (PDF), Intermediate Representations (M) (PDF), Semantic Analysis (M) (PDF), Unoptimized Code Generation (S) (PDF)(RM)(MP3), Unoptimized Code Generation (cont.) (S) (PDF)(RM)(MP3), Introduction to Program Analysis and Optimization (M) (PDF), Data-flow Analysis (M) (PDF), Data-flow Optimizations (M) (PDF), Foundations of Data-flow Analysis (M) (PDF), Instruction Scheduling (S) (PDF), (RM)(MP3), Instruction Scheduling (cont.) (S) (PDF), (RM)MP3), Register Allocation (S) (PDF)(RM)(MP3), Putting it all Together (S) (PDF)(RM)(MP3), Compiler Derby (S)
Object-oriented Program Design Core Java 2, Volume I: Fundamentals

Volume II: Advanced Features

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 Dave Goddeau IntroI,   IntroII, ClassesI, ClassesII, Inheritance & PolymorphismI, II, InterfacesI, II, OOP Design & Design Process, Exceptions & Error Handling, I/O, Window Systems & Graphics, Event-based programming, GUI (widgets), Threads, Network Programming, Software Design Cycle, OOP in C & C++, Layouts, Packages, & Jar files, Java on the web, Component Object Models, Overview of Software Patterns, Persistence & Databases & etc., I18N, L10N & Review
Introduction to Algorithms Administrivia - Introduction - Analysis of Algorithms, Insertion Sort, Mergesort, Asymptotic Notation - Recurrences - Substitution, Master Method, Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication, Quicksort, Randomized Algorithms, Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort, Order Statistics, Median, Hashing, Hash Functions, Universal Hashing, Perfect Hashing, Relation of BSTs to Quicksort - Analysis of Random BST, Red-black Trees, Rotations, Insertions, Deletions, Augmenting Data Structures, Dynamic Order Statistics, Interval Trees, Skip Lists, Amortized Algorithms, Table Doubling, Potential Method, Competitive Analysis: Self-organizing Lists, Dynamic Programming, Longest Common Subsequence, Greedy Algorithms, Minimum Spanning Trees, Shortest Paths I: Properties, Dijkstra's Algorithm, Breadth-first Search, Shortest Paths II: Bellman-Ford, Linear Programming, Difference Constraints, Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication, Floyd-Warshall, Johnson, Advanced TopicsI, Advanced TopicsII, Advanced TopicsIII, Advanced TopicsIV


Introduction to Algorithms, Cormen, Rivest, Leiserson. Reference: Computers and Intractability, Garey and Johnson.

Shai Simonson

Overview, Sorting, Sorting II, Searching & Data Structures, Red-Black Trees, Graph Algorithms I - Topological Sorting, Prim's Algorithm, Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure, Graph Algorithms III: Shortest Path, Graph Alg. IV: Intro to geometric algorithms, Geometric Algorithms: Graham & Jarvis, Dynamic Programming I, Dynamic programming II, Parsing, Knapsack, Bandwidth Min. Intro: Greedy Algs., Greedy Algs. II & Intro to NP Completeness, NP Completeness II & Reductions, NP Completeness III - More Reductions, NP Completeness IV, Approximation Algs., Alternate Models of Computation
Algorithms Introduction to Algorithms(video, audio, slides), Asymptotic Notation(video, audio, slides), Modeling / Logarithms(video, audio, slides), Modeling / Logarithms(video, audio, slides), Elementary Data Structures(video, audio, slides), Dictionary data structures / Trees(video, audio,slides), Sorting(video, audio, slides), Heapsort/Priority Queues(video, audio, slides), Quicksort(video, audio, slides), Linear Sorting(video,audio,slides), Graph Data Structures(video,audio, slides), Breadth/Depth-First Search(video, audio, slides), Topological Sort / Connectivity(video, audio, slides), Minimum Spanning Trees(video, audio, slides), Shortest Path(video, audio, slides), All-Pairs Shortest Paths(video, audio, slides), Combinatorial Search(video, audio, slides), Program optimization (video, audio, slides), Introduction to Dynamic Programming(video, audio, slides) Examples of Dynamic Programming, More Examples of Dynamic Programming, Divide and Conquer, Recurrence Relations (video, audio, slides), Introduction to NP-completeness(video, slides), Reductions(video, slides), More Reductions(video, slides), Cook's Theorem / Harder Reduction(video, slides), The NP-completeness challenge (video, slides, Approximation Algorithms(video, slides), Heuristic Methods.
Algorithms Analysis (pdf) (keynote), Elementary Sorting (pdf) (keynote), Efficient Sorts (pdf) (keynote), Advanced Topics in Sorting (pdf) (keynote), Binary Search Trees (pdf) (keynote), Balanced Trees (pdf) (keynote), Hashing (pdf) (keynote)
Analysis of Algorithms Analysis of Algorithms I (doc) (ppt), Analysis of Algorithms II (doc) (ppt), Exploring Algorithms (doc) (ppt)
Systems Luis Rodriguez
Operating Systems Operating Systems Lectures - Eleven free video lectures from New Jersey's Science and Technology University.
Nonlinear Programming Nonlinear Programming Lectures - Three video lectures taken from one of MIT's nonlinear programming courses. Video topics include Newton's method, duality theory and semidefinite optimization
Java Programming Java Programming Lectures - This collection of 16 video lectures from UC Berkeley offers an introduction to Java programming. Students also learn about data structures and programming methodology.
Web Applications Philip Greenspun
Theory of Computation Introduction to the Theory of Computation, Michael Sipser, Reference: Introduction to Automata Theory, Languages and Computation, Hopcroft, Motwani and Ullman

Lecture Notes.

Shai Simonson
Finite State Machines, Closure and Nondeterminism, The Pumping Lemma, Minimizing FSMs, Context Free Languages, CFLs and compilers, Pushdown Machines, CFGs and NPDMs, More lemmas, CYK, Undecidability and CFLs, The Bullseye, Turing Machines, The Halting Problem, Decidability, Complexity Theory, Quantified Boolean Formula, Savitch's Theorem, Space Hierarchy, Decidability/Complexity Relationship, Recursion Theorem
Artificial Intelligence Artificial Intelligence, Patrick Winston

Patrick Winston

Rule-based systems and Knowledge Engineering, Searching and Coloring, Nearest Neighbors, Identification Trees, Neural Nets, Back Propagation, Support Vector Machines
Unix Workshop
Introduction to Information Retrieval

Textbook: HTML edition; PDF of the book for online viewing (with nice hyperlink features; PDF of the book for printing; PDFs of individual chapters; slides; discussion forums; a moodle with interactive exercises; exercises

Front matter (incl. table of notations) pdf Boolean retrieval pdf html The term vocabulary & postings lists pdf html Dictionaries and tolerant retrieval pdf html Index construction pdf html Index compression pdf html Scoring, term weighting & the vector space model pdf html Computing scores in a complete search system pdf html Evaluation in information retrieval pdf html Relevance feedback & query expansion pdf html XML retrieval pdf html Probabilistic information retrieval pdf html Language models for information retrieval pdf html Text classification & Naive Bayes pdf html Vector space classification pdf html Support vector machines & machine learning on documents pdf html Flat clustering pdf html, html Hierarchical clustering pdf html Matrix decompositions & latent semantic indexing pdf html Web search basics pdf html Web crawling and indexes pdf html Link analysis pdf html Bibliography & Index pdf bibtex file bib
Database Management Systems Database Management Systems, Ramakrishnan and Gehrke

Ravi Jasuja

Overview, Query Processing, Embeddedef="ftp://ftp.aduni.org/videos/10_lect_02.rm" class=r>Relational Algebra, Relational Calculus, Entity Relationship Diagrams, RDBMS Memory and Disk Storage, RAID, Buffer Management, Unordered/Sorted/Hashed Files, Indexes, Index Sequential Access Method, B+ Trees, Static and Dynamic Hash Indexing, External Sorting, Merge Sort, Double Buffering, Replacement Sort, Query Optimizers, Query Evaluation, Normal Forms, Query Analysis and Optimizing in Oracle
Applied Probability Fundamentals of Applied Probability Theory, Al Drake.

Tina Kapur

Introduction, Algebra of Events, Conditional Probability, Independence, Bayes Theorem, Probability Mass Functions, Conditional PMFs, Probability Density Functions, PDFs and Image Guided Surgery, Bayesian Segmentation of MRI Images.
Web Programming The Internet and World Wide Web, Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), Page Layout with CSS,  JavaScript HTML User Interface Controls, JavaScript Events, Document Object Model (DOM), Asynchronous Javascript + XML (Ajax), Extensible Markup Language (XML), Debugging, Multimedia, Google Ajax Search API, HTML Forms, PHP, HTML Tables, SQL, Cookies and Sessions, Taking a Website Live, Web Design and Usability, What's Next?
What Every Web Programmer Needs To Know About Security Security Goals Secure Systems Design Secure Design Principles Exercises Worms and Other Malware Buffer Overflows Client-State Manipulation SQL Injection Password Security Cross-Domain Security in Web Applications Exercises Symmetric Key Cryptography Asymmetric Key Cryptography Key Management & Exchange MACs and Signatures Exercises for All slides
Programming Languages
Web Software and Security Web Software and Security Lectures - Two great video lectures from Google Code University.
Computer Science Overview

Computer Systems Laboratory Colloquium, Operating Systems and System Programming, Spring 2010,  Fall 2009, Machine Structures, Fall 2009, Fall 2008 Structure and Interpretation of Computer Programs,  (Fall 2008),  Fall 2009,, ntroduction to Computer Programming for Scientists and Engineers, (Spring 2009), Computer System Engineering, Introduction to Computer Science and Programming, Building Dynamic Websites, Digital Systems Design, Software Engineering, Digital Computer Organization, Digital Circuits and Systems, Internet Technology, Artificial Intelligence: Introduction to Robotics, Discrete Structures, Data Structures, Fall 2009, Fall 2008 , Data Structures, Data Structures And Algorithms, Introduction to Algorithms, Design and Analysis of Algorithms., Database Design, Computer Organization, Computer Architecture, Computer Networks, Machine Learning, Artificial Intelligence, Artificial Intelligence II, Computer Graphics, Numerical Analysis and Computer Programming, Computer Science III: Programming Paradigms, Computer Science II: Programming Abstractions, Computer Science I: Programming Methodology, Principles of Programming Languages, XML Foundations, Computer Language Engineering, Introduction to Copyright Law

Concurrency in C++ Introduction, Coroutine, Concurrency, Lock Abstraction, Concurrent Errors, Indirect Communications, Direct Communications, Other Approaches
Multicore Programming Primer Course introduction (part 1), Course introduction (part 2), Introduction to Cell processor, Introduction to parallel architectures, Introduction to concurrent programming, Parallel programming concepts, Design patterns for parallel programming I, Design patterns for parallel programming II, StreamIt language, Debugging parallel programs, Performance monitoring and optimizations, Parallelizing compilers, StreamIt parallelizing compiler, Star-P, Synthesizing parallel programs, Cilk, Introduction to game development, The Raw experience, The future; Getting to know Cell, Take-home lab, Cell programming hands-on, Cell debugging tools, Cell profiling tools,SIMD programming on Cell:: Useful Information: Cell programming mini-reference (PDF); How to install Cell SDK 2.0 with YDL (Yellow Dog Linux) (PDF); How to get X to work on the PLAYSTATION´┐Ż3 console (PDF);Using the PLAYSTATION 3 Framebuffer for Graphics, Vsync example

*Vision: All courses are in line with ACM's 2001 Model Curricula for Computing. ESaf's videos are organized and made universally accessible and downloadable.

 **Mission: Visualize your elearning experience


LinkedIN handle