All Resources (103)

Great Ideas in Computer Science by William Rapaport - Computer Science I/II : Syllabus This course is designed to help satisfy the general-education mathematics skills or mathematical sciences requirement. The themes of the course are "What is computation?" and "What kinds of things are computable?" You will study algorithmic problem s...
Program Verification and Development by William Rapaport - Software Engineering : Syllabus Introduction to the simultaneous development and verification of correct programs. In preparation for this, the first part of the course will contain lectures in formal logic and in program semantics. The second part will involve actual examples of p...
Knowledge-Based Artificial Intelligence by William Rapaport - Artificial Intelligence : Syllabus Survey of knowledge-based artificial intelligence - the study of how to program computers, using classical symbolic methods, to behave in ways normally attributed to "intelligence" when observed in humans. Topics chosen from: history, definition, and...
Introduction to Cognitive Science by William Rapaport - Artificial Intelligence : Syllabus An introduction to cognitive science, an interdisciplinary approach to the computational study of human cognition. Methodology, assumptions, and research problems of cognitive science and such cognitive-science disciplines as anthropology, artificial...
Computational Linguistics by William Rapaport - Artificial Intelligence : Syllabus Introduction to computational models of understanding natural languages. Syntactic and semantic parsing, generation, knowledge-representation techniques.
Knowledge Representation by William Rapaport - Artificial Intelligence : Syllabus Detailed survey of the issues and techniques of representing knowledge and belief in a computer system; syntax and semantics of various formalisms including predicate logic, semantic networks, frames, analogical representations.
How to Study by William Rapaport - Not Specified : Tutorial A website with suggestions for students on how to study. OUTLINE: 1.Introduction 2.Manage your time 3.Take notes in class & rewrite them at home 4.Study hard subjects first & study in a quiet place 5.Read texts actively & slowly, ...
Algorithm Animation at Georgia Tech by John Stasko - Algorithms : Visualization This web site describes algorithm animation research done at and software developed at Georgia Tech by John Stasko. Software systems included are XTango, Polka, PolkaW, Samba, and JSamba. Full source code and many example algorithm animations are inc...
Human-Computer Interaction course materials by John Stasko - Human / Computer Interaction : Syllabus This is a link to a course website for a Human-Computer Interaction course at Georgia Tech. The website includes a syllabus, lecture slides, assignments, links to other courses, and links to general HCI resources.
CSAB: Computer Science Accreditation Board by CSAB, Inc. Accreditation - Not Specified : Organization CSAB serves as a participating body of ABET with two members on the ABET Board of Directors. CSAB is the lead society within ABET for accreditation of programs in computer science, informations systems, and software engineering, and is a cooperating s...
Introduction to Computing with Geometry -- Lecture Notes by Ching-Kuang Shene - Graphics / Visualization : Lecture Notes This is a set of comprehensive web-based lecture notes on computing with geometry. The goal of this set of lecture notes is to provide computer science students the necessary knowledge for handling geometric objects. Main topics include basic geometr...
DesignMentor - a tool for teaching curves and surfaces by Ching-Kuang Shene - Graphics / Visualization : Visualization DesignMentor is a tool designed to help instructor teach Bezier, B-spline and NURBS curves and surfaces. It is being used world-wide at research universities and liberal art colleges. DesignMentor permits a user to create and edit Bezier, B-spline an...
Multithreaded Programming with ThreadMentor: A Tutorial by Ching-Kuang Shene - Operating Systems : Lecture Notes Multithreaded programming has become increasingly important in daily programming practice, and is supported by virtually all modern operating systems. However, it is not so easy to teach multithreaded programming in an operating system or concurrent p...
ThreadMentor - A system for teaching multithreaded programming by Ching-Kuang Shene - Operating Systems : Visualization ThreadMentor consists of a class library and a visualization system. The class library provides a simple way of handling thread management (i.e., thread creation, termination, joining, suspension and resume) and various synchronization primitives such...
Animation of Buffer Overflow and Cryptography by Susan Gerhart - Computer Security : Visualization Animation (via applets) of various buffer overflow vulnerabilities and simulated attacks. Use the applets for a quick demonstration in class and as the basis for an assigned lab or research assignment on security issues. Support material includes instr...
Concurrent Programming Using Java by Stephen Hartley - Operating Systems : Tutorial This is an introduction to using the Java programming language in concurrent or multithreaded applications. The context is the process synchronization material and related concurrent programming in operating systems courses as opposed to software engin...
Concurrent Programming for Operating Systems Classes Using SR by Stephen Hartley - Operating Systems : Tutorial In undergraduate operating systems classes, students learn about concurrent process synchronization, including such things as shared data, race conditions, critical sections, mutual exclusion, the test-and-set hardware instruction, semaphores, and moni...
Software Design Using C++ by Dr. David Carlson - Computer Science I/II : Tutorial These web pages provide much of the material for the courses CS I, CS II, and data structures. The C++ programming language is used throughout. The material is a combination tutorial, lecture notes, and online book. However, it is not a complete tex...
Mic1 microprogramming simulator by Dr. David Carlson - Architecture : Visualization The Mic1 microprogramming simulator is useful in teaching computer architecture and organization. The simulated machine is based on the one described by Andrew S. Tannenbaum in his popular 1990 text, Structured Computer Organization, 3rd edition, from ...
Interactive Data Structure Visualizations by Duane Jarc - Data Structures : Visualization The Interactive Data Structure Visualizations provide animations of various binary tree, sorting and graph algorithms. Users are able to watch the execution of an algorithm and then test their understanding of the algorithm by entering an exercise mod...
C++ Interactive Exercises by Duane Jarc - Computer Science I/II : Tutorial The C++ Interactive Exercises provide an interactive introduction to the C++ programming language with a combination of explanatory text, program examples and exercises. There are a total of nine lessons that include all of the control statements of ...
Java: A Framework for Programming and Problem Solving by Kenneth Lambert - Computer Science I/II : Book This book provides a gentle introduction to programming and problem solving with Java. All of the standard CS1 topics are covered. The book takes a just-in-time concepts approach. Great care has been taken to make the presentation as simple and stra...
Java: A Framework for Program Design and Data Structures by Kenneth Lambert - Computer Science I/II : Book This book provides complete coverage of CS2 topics with Java. Features include - a thorough review of Java fundamentals and object-oriented programming - an appropriate introduction to complexity analysis - an in-depth overview of the manipulatio...
Support for E. Angel "Interactive Computer Graphics" by Edward Angel - Graphics / Visualization : Book Interactive Computer Graphics: A Top Down Approach Using OpenGL (Third Edition)by Edward Angel (Addison-Wesley, 2003) features a top-down, programming-oriented approach to computer graphics. The book is designed as a text for a first course in computer...
Support for E. Angel: "OpenGL: A Primer" by Edward Angel - Graphics / Visualization : Book This site provides support (programs, errata) for E. Angel, OpenGL: A primer, Addison-Wesley, 2003. This small volume is both a companion to E. Angel, Interactive Computer Graphics: A Top-down Approach Using OpenGL and a stand-alone introduction to Ope...
Computer Game Design by Bruce Maxim - Software Engineering : Syllabus This course deals with the study of the technology, science, and art involved in the creation of computer games. The focus of the course will be hands-on development of computer games. Students will study a variety of software technologies relevant to ...
Introduction to Artificial Intelligence by Bruce Maxim - Artificial Intelligence : Syllabus This course introduces students to basic concepts and methods of artificial intelligence from a computer science perspective. Emphasis of the course will be on the selection of data representations and algorithms useful in the design and implementation...
User Interface Analysis and Design by Bruce Maxim - Human / Computer Interaction : Lecture Notes This course deals with current theory and design techniques concerning how user interfaces for computer systems should be designed to be easy to learn and use. Focus will be on cognitive factors such as the amount of learning required and the informati...
User Interface Analysis and Design by Bruce Maxim - Human / Computer Interaction : Syllabus This course deals with current theory and design techniques concerning how user interfaces for computer systems should be designed to be easy to learn and use. Focus will be on cognitive factors such as the amount of learning required and the informati...
Software Engineering I by Bruce Maxim - Software Engineering : Syllabus This course presents an indepth treatment of many software engineering topics including: software engineering paradigms, requirements specification, functional design, object-oriented design, software verification, and maintenance. Comprehensive discu...
Software Engineering II by Bruce Maxim - Software Engineering : Syllabus This course continues the formal development of the software engineering material begun in CIS 375. Topics covered include: personal software process, team software process, formal methods, human computer interaction, security, software architecture, ...
Senior Design Seminar by Bruce Maxim - Capstones : Syllabus Students participate in the design and implementation of a major software project. Seminar topics discussed include: computing ethics and professional practice in computer science.
Web Design by Bruce Maxim - Software Engineering : Syllabus This course deals with the study of technologies used to design and implement multimedia web sites. The focus of the courses will be hands-on development of commercial web-based applications. Students will study a variety of software technologies relev...
Planning and Implementing your Final Year Project by Mikael Berndtsson - Capstones : Book This book provides a guide for students in computer science and information systems. Includes all the tools they need to successfully complete a research oriented final year project.
The cnet network protocol simulator by Chris McDonald - Networking : Courseware cnet is a network protocol simulator which enables experimentation with various data-link layer, network layer, routing and transport layer networking protocols in networks consisting of any combination of point-to-point links and IEEE-802.3 Etherne...
Java Interactive software Visualization Environment by Umberto Ferraro Petrillo - Algorithms : Visualization JIVE is Java-based interactive system for teaching algorithms through visualization. Multiple users can share and attend a same animation in a Virtual Classroom environment. Visualization of complex algorithms is supported by means of Zoomable User Int...
GUI Programming by Jesse Heines - Capstones : Syllabus GUI Programming is taught as a two-semester senior project course. The current version of the course deals with Web-based interfaces, focusing on client-side techniques. We begin with HTML form design and processing and move through dynamic form gene...
Internet & Web Systems I by Jesse Heines - Networking : Syllabus Internet & Web Systems I is a graduate level elective. It is a survey course of both client- and server-side programming techiques and covers HTML, CSS, JavaScript, the DOM, Form Validation, XML, XSL, JSP, and basic networking. The link provided go...
DAJ - Distributed Algorithms in Java by Moti Ben-Ari - Distributed / Parallel Computing : Visualization This program is an interactive, visual aid for studying distributed algorithms. Interactive, because you must explicitly specify every step of the interleaved execution sequence. Visual, because the state of the nodes is continuously displayed. Study a...
Usability Engineering by Scott Grissom - Human / Computer Interaction : Syllabus This course emphasizes the usability engeering design cycle, discount usability evaluation techniques, GUI development, and technical communication skills. The Web syllabi contains textbook information, weekly outline of topics, assignment description...
User Interface Development by Bill Manaris - Human / Computer Interaction : Syllabus This course focuses on user interface design and implementation. On-line materials include syllabus, textbook information, outline of topics (see test review), assignment descriptions, selected solutions, and a few handouts. Course topics includ...
jBACI by Moti Ben-Ari - Distributed / Parallel Computing : Courseware jBACI is an integrated development environment for learning concurrent programming by simulating concurrency. It was built from the BACI (Ben-Ari Concurrency Interpreter) compilers developed by Bill Bynum and Tracy Camp, and a modified version of the B...
jGRASP Integrated Development Environment by James Cross - Computer Science I/II : Courseware jGRASP is an integrated development environment (IDE) specifically created to generate visualizations for the purpose of improving the comprehensibility of software. jGRASP is implemented in Java, and thus runs on all platforms with a Java Virtual Mac...
McGraw-Hill Higher Education by McGraw-Hill Publishers - Not Specified : Publisher A large selection of CS textbooks sorted by course.
Amazing Visualization by Scott Grissom - Computer Science I/II : Assignment This project requires the following experience: class inheritance, recursion, maze traversal, and Java JFC Swing classes. Students extend a provided class, called Maze, that displays a visual representation of a maze as well as the traversed path. Als...
Jeliot Program Animation System (Version 3) by Moti Ben-Ari - Computer Science I/II : Visualization Jeliot is a program animation system intended for teaching introductory programming. All steps of the execution of a program (expression evaluation, control flow, parameter passing, variable allocation) are animated on a "stage", while the source code ...
CodeLab by David Arnow - Computer Science I/II : Courseware CodeLab is a web-based system for interactively learning Java, C, and C++. CodeLab includes over 200+ programming exercises, instant feedback on submissions and automatic tracking of student work. There is nothing to install or download because CodeLab...
Conceptual Modeling of Web Applications by Piero Fraternali - Software Engineering : Tutorial The Web Modeling Language (WebML) is a visual notation for specifying complex Web applications at the conceptual level. WebML describes a Web application using several orthogonal dimensions, including: 1) The organization of data (structure model) ...
BlueJ by Michael Kölling - Computer Science I/II : Courseware BlueJ is an integrated Java development environment specifically aimed at teaching and learning object-oriented programming. BlueJ offers unique interaction facilities that allow the interactive creation of objects and interactive invocation and tes...
Teaching Participatory Design Methods in an Undergraduate HCI Class by Jerry Weinberg - Human / Computer Interaction : Lecture Notes A website highlighting educational materials for teaching participatory design methods in an undergraduate HCI class. These materials were developed from a project funded by the NSF (Grant # 9981088).

Key components of the site are:
...
Introduction to Natural Language Processing by Jason Eisner - Artificial Intelligence : Courseware A wide-ranging course in statistical natural language processing. Teachers may want to use or adapt some of the extensive Powerpoint slides, which include algorithm animations. There are also interactive spreadsheets that help teach the forward-backw...
Data structures assignments (especially appropriate for use with Goodrich & Tamassia) by Jason Eisner - Data Structures : Assignment 10 relatively interesting assignments for a Data Structures course. Several of the assignments use real-world datasets, and some come with supporting code. The assignments are especially appropriate for use with Goodrich & Tamassia's textbook, Data...
Data structures "warmup quizzes" by Jason Eisner - Data Structures : Courseware Half-hour "warmup exercises" that prepare students just before they start a new topic in class. The questions introduce examples, real-world tasks, and efficiency concerns that will be addressed by developing a new data structure. Most questions requ...
SOsim: Simulator for Operating Systems Education by Luiz Maia - Operating Systems : Courseware SOsim is a simulator with visual facilities to serve as an effective support tool for the better teaching and learning of the concepts and techniques in modern operating systems, serving as a way to render the whole process more efficient. SOsim´s main...
Objects First With Java - A Practical Introductino Using BlueJ by Barnes David J. - Computer Science I/II : Book This book provides a introduction to object-oriented programming using the Java language. The focus of this book is on general OO programming techniques and principles. The approach is highly practical: the book approaches the introduction of all ma...
TCP/IP Labs by Joe Sloan - Networking : Assignment These Unix-based tutorials/laboratories are for use with a course on the TCP/IP protocols. Further details are available at the website.
Java Power Tools for GUIs, Graphics, and Testing by Richard Rasala - Graphics / Visualization : Courseware The Java Power Tools enable the rapid development of Java graphical user interfaces with automatic error checking of all user input. By systematic abstraction (extreme encapsulation) that brings the central issues of GUI building to the forefront and h...
Kaleidoscope Case Study by Richard Rasala - Graphics / Visualization : Visualization The Kaleidoscope program was developed as a case study of object-oriented design and as a test bed for graphics tools for dealing with shapes and images including Bezier curves. The program creates a picture involving random shapes and images and then ...
Nifty Assignments by Nick Parlante - Computer Science I/II : Assignment The Nifty Assignments project attempts to gather together great CS assignments to make their ideas and materials available for the CS-education community. At the SIG-CSE conference, I would often see neat assignment ideas go by as peripheral parts of ...
Courseware for A UNIX System Programming Course by Tony Richardson - Operating Systems : Syllabus , Assignment Complete courseware for a UNIX System Programming course. Includes syllabus, assignments and lecture notes (in original OpenOffice and in web page formats). Topics: Shell Programming, CGI Programming with Perl, UNIX File and Directory System Routines,...
PHP and SQL Databases by Felix Gers - Programming Languages : Tutorial Installation and Configuration, PHP Language, PHP Interface to SQL Databases
Databases (DBs) and SQL with PostgreSQL by Felix Gers - Database Systems : Tutorial DB Theory: Normalization and Normal Forms, Entity Relationship (ER) Model. Getting Started with PostgreSQL. The SQL Language.
Concurrent Version System CVS by Felix Gers - Software Engineering : Tutorial CVS Concepts, Checkout Modes (Reserved or Unreserved), Getting Started and Using CVS, Basics CVS Command Syntax, Setting Up the Repository, Working with CVS, Modifying the Repository, Command Overview and Reference, Accessing a Remote Repository vi...
JFLAP 4.0b10 by Susan Rodger - Formal Methods / Theory : Courseware JFLAP is a software tool written in Java that is for experimenting with many of the topics in a formal languages course including automata, grammars, parsers and L-systems. With JFLAP one can graphically design and animate programs for three types ...
Computing Curricula 2001 by ACM IEEE - Not Specified : Report The Joint IEEE Computer Society/ACM Task Force on the "Model Curricula for Computing" (CC) was formed to review the 1991 curricula and develop a revised and enhanced version that addresses developments in computing technologies in the past decade and w...
Robots: Learning to Program with Java by Byron Weber Becker - Computer Science I/II : Book "Robots" is an introductory programming textbook using Java. Students start with provided classes ("Karel the Robot") to learn how instantiate objects, call methods, etc. After leaning about using objects, students learn about writing their own class...
Karel the Robot in Java by Byron Weber Becker - Computer Science I/II : Courseware , Assignment An implementation of Karel the Robot in Java. As a set of classes, students use a traditional development environment rather than a special simulator to run their programs. The simplicity of Karel is retained, but much more flexibility is also perm...
Simplified I/O library in Java by Byron Weber Becker - Computer Science I/II : Courseware A simplified input/output library. The TextInput class supports reading integers, booleans, doubles, characters, as well as the rest of the line or the next token. There may be multiple tokens per line. It works for either standard input or a file. ...
A Project Course in Computer Ethics by Chuck Huff - Computer Ethics : Syllabus A project based course on computer ethics. Students analyze the socio-technical system associated with a real-world computing system and systematically consder the ethical issues the analysis generates. They provide a series of interim reports across...
Java Software Development Environment for Robotics by Stephen Grau - Artificial Intelligence RidgeSoft provides modern tools to combine robotics and Java programming curriculum making it engaging, tangible and embraceable. Students can program small robots using Java.
Kinesthetic Learning Activities Wiki by Steve Wolfman - Not Specified : Assignment The Kinesthetic Learning Activities Wiki is a place to learn about Kinesthetic Learning Activities (KLAs) and their use in Computer Science education and also to contribute to their expanding lore. KLAs are physically engaging classroom exercises. They...
The Teaching About Programming Languages Project by Gary T. Leavens - Programming Languages : Index This page is a means of sharing information about the teaching of the concepts of programming languages, especially undergraduate survey courses and courses about programming language semantics. The information shared includes homework and test pr...
The Animal Algorithm and Data Structure Animation System by Guido Roessling - Algorithms : Visualization The Animal algorithm and data structure animation system visualizes dynamic systems, as commonly found even in CS I/II. Content can be generated by scripting or visually by drag and drop, making it a useful tool for beginners and experts. All animatio...
An Example of Object Oriented Design: An ATM Simulation by Russell Bjork - Object-Oriented Design : Tutorial A series of web pages that give a complete example of object-oriented analysis, design, and programming applied to a moderate size problem: the simulation of an Automated Teller Machine. I developed these pages in the belief that students would benefi...
A Web-Based Introduction to Computer Networks for Non-Majors by Mark Holliday - Networking : Visualization A number of the key concepts in the design of computer networks lend themselves to illustration through animation. Animation can make the main features of these concepts accessible to the beginning undergraduate student as well as to more advanced stud...
Lecture slides and activities on XML-RPC by Marc Conrad - Distributed / Parallel Computing : Lecture Notes Material is provided for approximately four hours teaching and activities on the topic of XMLRPC. XMLRPC is a remote procedure call protocol based on XML. Because of XMLRPC's easy learning curve it is suitable as an introductory topic for a Distrtibute...
Ethos of Technology and the Internet by Barbara Boucher Owens - Computer Ethics : Syllabus A course syllabus and schedule with multiple links for teaching first year undergraduate students about ethics and the internet. Includes an extenisve bibliography and many assignments. A paper describing the course is available in the ACM digital ...
Java Software Solutions by John Lewis - Computer Science I/II : Book CS1 textbook with an emphasis on object-oriented design. Many complete program examples and numerous end-of-chapter exercises and projects. A strong pedagogical foundation.
Java Software Structures by John Lewis - Computer Science I/II : Book CS2 book using Java generics for data structure design. Strong emphasis on object-oriented design principles. Case studies provide extended examples.
MatrixPro - A Tool for Demonstrating Data Structures and Algorithms On-the-fly by SVG (Matrix Project) - Algorithms : Visualization MatrixPro is a tool for illustrating algorithms in action. It is targeted for computer science instructors to create algorithm animations used in teaching. It has a library of predefined algorithms and data structures. One can produce algorithm animati...
TRAKLA2 Data Structure and Algorithm Exercise System by SVG (Matrix Project) - Algorithms : Assignment TRAKLA2 is a system for automatically assessed visual algorithm simulation exercises. The system provides a Java applet that portrays a variety of algorithms and data structures. It also distributes individually tailored tracing exercises and autom...
Educational Pascal Compiler for MMIX by Evgeny Eremin - Programming Languages : Courseware The main aim of the project is to develop demonstrative software to learn the basic principles of translation from high-level language. This is not a manual how to write compilers, but rather simple illustration what compiler does with our Pascal text....
CCSE: Computing Curricula for Software Engineering by CCSE Steering Committee - Software Engineering : Report The CCSE Steering Committee is composed of representatives from the IEEE-CS and ACM as well as the Australian Computer Society, the British Computer Society, and the Information Processing Society of Japan.  In addition, committee members are from seve...
Open Seminar in Software Engineering by Laurie Williams - Software Engineering : Courseware OpenSeminar is an open courseware platform that enables professors from different universities to work collaboratively and create online course resources that can be customized to the needs of their own students. The OpenSeminar track in Software Engi...
MythSim: The Mythical Microcode Simulator by Jason Vroustouris - Architecture : Courseware MythSim is an open-source control-code simulator designed by students and instructors at the University of Illinois at Chicago. The simulator is a central part of the undergraduate computer architecture curriculum in the Computer Science and Electric...
Database Design with UML and SQL by Tom Jewett - Database Systems : Tutorial This site is a teaching resource for an introductory database class at California State University Long Beach, Department of Computer Engineering and Computer Science. It is also designed to be used as an individual self-study tutorial. It features a c...
Algorithms and Data Structures: The Science of Computing by Doug Baldwin - Computer Science I/II : Book "Algorithms and Data Structures: The Science of Computing" is an introduction to computer science's methods of inquiry: design of algorithms, programs, etc; theoretical (mathematical) analysis of algorithms, programs, etc.; and empirical (experimental)...
Ada for Software Engineers by Moti Ben-Ari - Programming Languages : Book "Ada for Software Engineers" teaches the Ada 95 as it is used in practice through relatively large case-studies such as a discrete event simulation. The textbook is out of print but a FREE version is available online. The presentation emphasizes the...
Logic circuit simulator by Nicholas Duchon - Architecture : Visualization This program is designed to allow the user to draw and simulate logic circuits. The program provides the basic logic circuit gates (AND, OR, NOT, XOr) along with the flip-flops (D and JK). and a few utility components (Input, Output and Connector). The...
Minesweeper is NP-Complete by Moti Ben-Ari - Formal Methods / Theory : Lecture Notes Richard Kaye (http://web.mat.bham.ac.uk/R.W.Kaye/minesw/minesw.htm) has shown that the game Minesweeper can be recast as a puzzle which is NP-Complete. Given an arbitrary set of mines and numbers on a rectangular grid, can mines be placed consistently?...
GraphBench: A learning environment for NP-completeness by Markus Braendle - Formal Methods / Theory : Visualization GraphBench is a learning environment that focuses on NP-completeness and features standard NP-complete problems (e.g. Traveling salesman, Satisfiability or 3-Dimensional Matching) and polynomial time reductions (e.g. reducing Satisfiability to Clique)....
Active Learning Exercises for CS1 by Beth Simon - Computer Science I/II : Assignment A series of active learning exercises for use in class in a CS1 (imperative-first, Java) course. Though these can be done with pencil and paper, they can also be used as part of the Ubiquitous Presenter system (http://edtech.ucsd.edu) and students...
Active Learning Exercises for Computer Architecture by Beth Simon - Architecture : Assignment A series of active learning exercises for in class use in a Patterson and Hennessy-based computer architetcure course. Though exercises can be done with pencil and paper, they are also designed for use in the Ubiquitous Presenter system (http://edte...
Simulators for Teaching Operating Systems by Steven Robbins - Operating Systems : Courseware This is a suite of simulators for teaching various aspects of Operating Systems. Each simulator can be run remotely through a browser or downloaded and run as a Java application. Each simulator has a user's guide and related curriculum material.
Active and Cooperative Learning Information by Jeffrey McConnell - Computer Science I/II This resource is a series of pages that describes how to implement a student-centered classroom through the use of active and cooperative learning. This site includes information on the organization of the classroom, the evaluation of students, and hi...
Greenfoot by Michael Kölling - Computer Science I/II : Courseware Greenfoot is a Java programming environment that makes it very easy to develop animated graphical applications, such as games and simulations. Using Greenfoot, programming basics can be introduced via computer game programming in Java. Greenfoot ...
InfoTraffic - Interactive Learning Environments for important Concepts of Computer Science and Math by Ruedi Arnold - Formal Methods / Theory : Visualization InfoTraffic is a collection of interactive learning environments for teaching fundamental concepts of computer science and mathematics. So far, the two programs LogicTraffic, targeted at propositional logic, and QueueTraffic, targeted at queueing theor...
Elevator Challenge Programming Project by Chris Voice - Computer Science I/II : Courseware The Elevator Challenge programming resource provides students an exciting chance to test their algorithm development skills in friendly competition with other students and schools. Designed to develop skills in problem solving and object-oriented progr...
Concurrent Programming in C++ using uC++ by Peter Buhr - Distributed / Parallel Computing : Courseware , Syllabus An introduction to advanced control-structures with an emphasis on concurrency and writing concurrent programs at the programming-language level. Programming techniques and styles are examined to express complex forms of control flow, such as multi-lev...
Computer science education research at the crossroads: A methodological review of the computer science education research: 2000-2005 by Justus Randolph - Not Specified : Report This is a dissertation about computer science education research. The abstract follows: Methodological reviews have been used successfully to identify research trends and improve research practice in a variety of academic fields. Although there have be...
JHAVE by Tom Naps - Algorithms : Courseware , Visualization JHAVÉ is a java application that renders algorithm visualizations. Students explore algorithms by viewing visual representations of data, controlling movement and by responding to pop-up questions. We provide a large collection of free materials for st...
ProofBuilder by Hugh McGuire - Formal Methods / Theory : Courseware ProofBuilder is a pedagogically-oriented GUI program for constructing proofs in propositional as well as first-order logic. It covers a wide range of formal reasoning, from propositional simplification to strong induction; but what I hope distinguish...
Data Structure and Algorithm Visualization Wiki (AlgoViz Wiki) by Cliff Shaffer - Algorithms : Courseware , Visualization The AlgoViz Wiki serves as a clearinghouse and communications facilitator for users and developers of algorithm visualizations (AVs). The AlgoViz Wiki includes a catalog with over 450 algorithm visualizations, an annotated bibliography of the AV resear...