Computer Science

Introduction to Computer Science and Programming

Introduction, Operators and operands; statements; branching, conditionals, and iteration, Decomposition and abstraction through functions;recursion,

Computer System Engineering

Techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; recovery and reliability; privacy, security, and encryption; and impact of computer systems on society.

Digital Systems Design

Introduction, Digital Logic, Boolean Algebra, Boolean Function Minimization, Design of Combinational Circuits, Logic Design with PLA, Synchronous Sequential Circuit Design, Finite State Machine Design, Programmable Logic Devices, Design of Computer Instruction Set and the CPU.

Building Dynamic Websites

HTTP, PHP, SQL, AJAX, XML and Java Script.

Software Engineering

Introduction to Software Engineering, Overview of Phases, Systems Modeling, Process Modeling, Data Modeling, Production Quality Software, Software Design, Design Patterns, Architectural Design, Software Testing, Structural Programming, Software Metrics and Quality, Verification and Validation, Software Evolution, Software Reuse, Project Time Management and Quality Management Systems.

Digital Computer Organization

Digital Computer Organization, CPU Design, Timing and Control, Micro-programmed Control, Pipeline Concept, Pipeline CPU, Memory Organization, Cache Memory Architecture, RAM Architecture, DAM Architecture Buffer Cache and Secondary Storage Organization.

Digital Circuits and Systems

Introduction, Combinational Logic Circuits Basics, Karnaugh Maps And Implicants, Parity Generator And Display Decoder, Cary Look Ahead Adders, 2s Complement Subtractor and BCD Adder, Introduction to Sequential Circuits, S-R,J-K and D Flip Flops, T Flip Flops, UP/Down Counters, Shift Registers, State Machines, Design of Synchronous Sequential Circuits, Mealy and Moore Circuits, Encoders and Decoders and Programmable Logic Devices.

Internet Technology

Introduction To Internet, TCP/IP, IP Subnetting and Addressing, Internet Routing Protocol, Client Server Concepts DNS, Telnet, Ftp, HTML, Extensible Markup Language (XML), CGI Scripts, PERL, Javascript, Java Applets, Basic Cryptographic Concepts, eCommerce, Internet Telephony, Search Engine And Web Crawler.

Database Design

Introduction, Conceptual Designs, Relational Model, Structured Query Language (SQL),ER Model to Relational Mapping, Storage Structures, Indexing Techniques Single Level and Multiple Level, Constraints and Triggers, Query Processing and Optimization, Transaction Processing Concepts, Introduction to Data Warehousing and OLAP, Object Oriented Databases, XML Databases.

Discrete Structures

Propositional Logic, Predicates and Quantifiers, Logical Inference, Normal Forms, Sets, Relations, Graphs, Trees, Closure of Relations, Functions, Permutations and Combination, Recurrence Relations, Algebras, Finite State Automaton and Lattices.

Numerical Analysis and Computer Programming

Programing Basics, Pointers And Arrays, External Functions and Argument Passing, Representation of Numbers, Numerical Error, Error Propagation and Stability, Polynomial Interpolation, Data Fitting, Matrix Elimation and Solution, Eigen Values, Eigen Vectors, Solving Non linear Equations, Numerical Derivations, Gaussian Rules etc...

Design and Analysis of Algorithms

Overview, Framework for Algorithms Analysis, Asymptotic Notation, Algorithm Design Techniques, Divide And Conquer, Greedy Algorithms, Pattern Matching, Combinational Search and Optimization, Dynamic Programming, Approximation Algorithms.

Artificial Intelligence: Introduction to Robotics

Topics: robotics foundations in kinematics, dynamics, control, motion planning, trajectory generation, programming and design.

Data Structures And Algorithms

Introduction, Stacks, Queues and Linked Lists, Dictionaries, Hashing, Tree Walks/Traversals, Deletion, Quick Sort, AVL Trees, Red Black Trees, Disk Based Data Structures, Priority Queues, Binary Heaps, Sorting, Graphs, Depth First Search(DFS) , Prims Algorithm for Minimum Spanning Trees and Dijkstras Algorithm.

Computer Graphics

Introduction, CRT Display Devices, Transformations in 2D, Three Dimensional Graphics, 3D Viewing, Scan Converting Lines, Circles and Ellipses, Lines And Polygons, Solid Modelling, Visible Surface Detection, Illumination and Shading, Curve Representation, Anti Aliasing,Color,Soft Objects, Animation, Visual Effects,System Architectures, Digital Image Processing - Image Compression-Jpeg-Enhancements.

Computer Architecture

Introduction, History of Computers, Instruction Set Architecture, Recursive Programs, Architecture Space and Examples, Performance, Binary Arithmetic, ALU Design, Multiplier, Divider Design, Floating Point Arithmetic, Processor Design, Pipelined Processor Design Basic Idea, Memory Hierarchy, Input/Output Subsystem.

Artificial Intelligence

Introduction to Artificial Intelligence, Intelligent Agents, Informed, Uninformed, State Space Search, Knowledge Representation and Logic, Resolution in FOPL, Semantic Net, Frames, Planning, Fuzzy Reasoning and Neural Networks.

Computer Science III: Programming Paradigms

Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms; the functional paradigm (using LISP) and concurrent programming (using C and C++); brief survey of other modern languages such as Python, Objective C, and C#.

Computer Science II: Programming Abstractions

Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities.

Computer Science I: Programming Methodology

Topics focus on the introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing

Machine Learning

Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); reinforcement learning and adaptive contro

Principles of Programming Languages

Introduction to programming languages, Syntax, Grammars, Ambiguity, Semantics, PL0 : Expressions, Syntactic Classes, Transition Systems,Binding, environments etc...

Computer Systems Engineering

Introduction to Computers; Naming; Virtualization. Virtual memory, Virtual Processors, Networks: Link layer, Network Layer: Congestion Control; Distributed Naming; Reliability; Atomicity Concepts; Recoverability, Isolation, Security : Authenticity, Advanced Authentication etc....

Data Structures

Objects and classes; Iteration and Arrays; Linked Lists; Stack frames; Inheritance; Abstract Classes; Java Packages; Exceptions; Encapsulation; Hash Tables; Stacks, Queues, trees and Traversals, Graphs and Sorting etc....

Data Structures, Algorithms, and Applications in Java

Machine Structures

Number Representation; Intro to C; C pointers, Arrays,Strings and Structures; Memory Management; MIPS; Floating point; Compilation, Assembly and Linking; Combinational logic Blocks; CPU Design etc...

Operating Systems and Systems Programming

Introduction to OS; Concurrency: Processes and Treads; Synchronization; Mutual exclusion; Semaphores, Monitors; Readers and Writers; Deadlock; Address Translation; Caching; Page Allocation and Replacement; File System and Disk Managenment, Naming, Directories, Distributed Systems etc....

Open Source Development and Distribution of Digital Information: Technical, Economic, Social, and Legal Perspectives

Introduction to Open Source. Production Processes. Economics and Business Models of Open Source, Open Source and Competition in the market Software Industry. Government Policy. Open Access Journals and Publications. Open Source biology. Wikipedia as open source project etc...

Introduction to Theory of Computation

Introductoy Progamming

Overview, Problems, Algorithms, Variables, Arithmetic Expressions, I/O, Conditionals, Functions, Iteration, Loops, Complex Conditionals, Arrays, Linear & Binary Search, Sorting, Structures, Strings, Nested data structures, File Input/Output, Style, Recursion, Recursive binary search etc....

Understanding Computers and the Internet

An Excellent course for a beginner. It has videos on Software, Hardware, Multimedia, Programming, The Internet, Security, Web Developement etc....

How Computers Work

Algorithms

Algorithms: Sorting, Searching & data Structures, Red-Black Trees. Graph Algorithms: Topological Sorting, Prim�s algorithm, DFS, BFS, Kruskal�s algorithms, and shortest path. Geometric algorithms: Graham & Jarvis; Dynamic Programming. Parsing. Greedy algorithms, NP Completeness etc...

Practical Aspects of Modern Cryptography

Programming Languages

Data structures, types, control structures. Languages in the ALGOL family; functional, object-oriented, and logic programming languages.

Introduction to Symbolic Programming

Functions, Expressions and Procedures, Words and sentences, Booleans, variables, recursion, Higher order functions, Lambda, Input/output, Lists, trees, Box and Pointer Diagrams etc...

Vision Algorithms

Human Computer Interfaces

Data Management System Design

Information systems Evolution

Information Systems Principles

Data Mining

Computer Mediated Communication Systems

Computers and Society

The Structure and Interpretation of Computer Programs

Functional Programming; Shell Programming; Higher-Order Procedures; Recursion and Iteration; Data Abstraction; Sequences; Hierarchical Data; Interpreter; Generic Operators etc....

Computer System Analysis

Workload, data representation; Ratio Games; Regression models; Experimental Designs; Fractional Factorial Designs; One Factor and Two Factor Experiments; Simulation etc....

Search Engines: Technology, Society, and Business

How Internet Works; Search and Society; Search Engine Qualities; Search Personalization; Search Advertising; Desktop Search; Search and privacy; Starting a Search Engine etc....

Interviews with Great People

Interviews with great people like Authors, Wed Developers, etc....

Artifical Intelligence

Search, A*, Knowledge Representation, and NeuralNetworks

Theory of Computation

Introduction, what can be computed and how fast it can be done, Applications to compilers, string searching, and control circuit design. Finite state machines, context free grammars and turing machines, decidability, complexity theory etc....

Graphical Display of Information, and Design of Dynamic Database-Driven Web Sites

Basics of designing a dynamic website with a database back end, including scripting languages, cookies, SQL and HTML. Emphasis is on computer-human interface and the graphical display of information.

Object oriented programming with Java

Object oriented programming with Java. Principles of software engineering. How to design and think in an object oriented fashion.

Algorithm Design and Analysis

Design and analysis of algorithms. Methodologies include: divide and conquer, dynamic programming and greedy strategies. Applications include: sorting, ordering and searching, graph and geometric algorithms, mathematical matching algorithms such as number theory, algebra and linear algebra algorithms.

Digital Logic, Computer Organization, and Design

Basics of digital logic design, computer organization, and architecture including assembly language, processor design, memory hierarchies and pipelining. Modern RISC architecture,difference between RISC and CISC architecture etc....

Relational Database Management Systems(RDBMS)

Introduction to RDBMS. Data base systems from physical layer of B-trees and file servers to the abstract layers of relational design. Also includes alternative and generic approaches to database design and database management system including relational, object-relational, and object-oriented systems, SQL standards, algebraic query languages, integrity constraints, triggers,functional dependencies, and normal forms. Other topics include tuning database transactions, security from the application

Graduate Computer Architecture

Overview of computer architecture, caches, memory systems, Instruction level parallelism, simultaneous multithreading, vector computers, Processors, Introduction to Multiprocessors, Advanced Memory Hierarchy, storage, Queuing theory etc...

Introduction to Copyright Law

Introduction; Basics of Legal Research; Legal Citations; 1976 Copyright Act; Copyright applied to Music, Computers; Napster; Peer-to-Peer File Sharing; Software Licensing; DVDs and Encryption etc...

Computer Language Engineering

Introduction to Computers

Introduction. Interview of Jean-Pierre Protzen, John Coate, Steve Peterson. Phenomenology and virtual reality. Social Search. Plato's Cave & Nature of Data, Information, Knowledge, and Wisdom. Discussion of Holding on to Reality. Interview of Andrew Keen. Ivan Tam on Disruptive Technologies and Open Source Development etc...

Software Engineering for Web Applications

Teaches basics of designing a dynamic web site with a database back end, including scripting languages, cookies, SQL, and HTML with the goal of building such a site as the main (group) project Emphasizes computer-human interface and the graphical display of information.

Introduction to Web Security

Topics: How to Break Web Software, What Every Engineer Needs to Know About Security and Where to Learn It.

40 Java Video Tutorials on youtube

Some of these teach basics with getting starting programming using Java, and some are more advanced, showing you how to code loops, arrays, exceptions, Netbeans, Web services, Event handing, JDBC, and Inheritance.

Web 2.0 AJAX Programming

Web 2.0 - AJAX - Creating a Rich User Experience, WebGuild, Creating Tools for AJAX Development etc...

Operating Systems (NJIT)

Computer Engineering

Data structures (arrays, lists, stacks, queues, dequeues and trees) and their machine representation and simple algorithms. Peripheral devices: printers, keyboards, magnetic type drives, magnetic disc drives. Peripheral interfacing and busses. Introduction to operating systems. System integration. Computer systems and networks.

Advanced Javascript

Comprehensive introduction to the JavaScript Programming Language; Theory of the DOM;

Naval Postgraduate School

The Lecture Series injects commercial and military relevance into the CISR activities. Lectures are from leading experts in the field of computer science and Information Systems Security.