Updating search results...

Computer Science

20 affiliated resources

Search Resources

View
Selected filters:
Artificial Intelligence
Unrestricted Use
CC BY
Rating
5.0 stars

This course includes materials on AI programming, logic, search, game playing, machine learning, natural language understanding, and robotics, which will introduce the student to AI methods, tools, and techniques, their application to computational problems, and their contribution to understanding intelligence. The material is introductory; the readings cite many resources outside those assigned in this course, and students are encouraged to explore these resources to pursue topics of interest. Upon successful completion of this course, the student will be able to: Describe the major applications, topics, and research areas of artificial intelligence (AI), including search, machine learning, knowledge representation and inference, natural language processing, vision, and robotics; Apply basic techniques of AI in computational solutions to problems; Discuss the role of AI research areas in growing the understanding of human intelligence; Identify the boundaries of the capabilities of current AI systems. (Computer Science 405)

Subject:
Computer Science
Material Type:
Full Course
Reading
Syllabus
Textbook
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Cascading Style Sheets
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

This book is a guide to Cascading Style Sheets (CSS), a technique widely used in web pages including Wikipedia to describe their visual style and appearance. CSS can take HTML to new places creatively and functionally. Once you learn how to style mark-up, you can additionally learn JavaScript functions that make dynamic web pages.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Wikibooks
Date Added:
05/12/2016
Compilers
Unrestricted Use
CC BY
Rating
0.0 stars

This course introduces the compilation process, presenting foundational topics on formal languages and outline each of the essential compiler steps: scanning, parsing, translation and semantic analysis, code generation, and optimization. Upon successful completion of this course, the student will be able to: describe the compilation process and explain the function of the components that comprise the structure of a compiler; apply concepts of formal languages and finite-state machines to the translation of computer languages; identify the compiler techniques, methods, and tools that are applicable to other software applications; describe the challenges and state-of-the-practice of compiler theory and practice. This free course may be completed online at any time. (Computer Science 304)

Subject:
Computer Science
Material Type:
Assessment
Full Course
Homework/Assignment
Lecture Notes
Reading
Syllabus
Textbook
Provider:
The Saylor Foundation
Date Added:
04/16/2012
Cryptography
Unrestricted Use
CC BY
Rating
0.0 stars

This course introduces cryptography by addressing topics such as ciphers that were used before World War II, block cipher algorithms, the advanced encryption standard for a symmetric-key encryption adopted by the U.S. government, MD5 and SHA-1 hash functions, and the message authentication code. The course will focus on public key cryptography (as exemplified by the RSA algorithm), elliptic curves, the Diffie-Hellman key exchange, and the elliptic curve discrete logarithm problem. The course concludes with key exchange methods, study signature schemes, and discussion of public key infrastructure. Note: It is strongly recommended that you complete an abstract algebra course (such as the Saylor FoundationĺÎĺ_ĺĚĺ_s MA231) before taking this course. Upon successful completion of this course, students will be able to: explain how symmetric and asymmetric key ciphers work; list and define cryptographyĺÎĺ_ĺĚĺ_s goals; list and define the most common classical ciphers; explain the workings of mechanical ciphers Enigma and Lorenz; describe the principles of substitution-permutation networks; describe the algorithms for data encryption and the advanced encryption standard; describe and use the MD5 and SHA-1 hash functions; explain the idea behind public key cryptography; use the RSA cryptography system by applying it to practical problems; test whether the large integer is prime with the mathematical tools presented in this course; define the elliptic curve and use it in cryptography; explain the Diffie-Hellman key exchange; describe the most common signature and autokey identity schemes; describe the conceptual workings of public key infrastructure. This free course may be completed online at any time. (Computer Science 409)

Subject:
Computer Science
Material Type:
Assessment
Full Course
Homework/Assignment
Lecture
Reading
Syllabus
Textbook
Provider:
The Saylor Foundation
Date Added:
04/16/2012
Database Design-2nd Edition
Unrestricted Use
CC BY
Rating
0.0 stars

Database Design - 2nd Edition covers database systems and database design concepts. New to this edition are SQL info, additional examples, key terms and review exercises at the end of each chapter.

Subject:
Computer Science
Material Type:
Textbook
Provider:
BCcampus
Provider Set:
BCcampus Open Textbooks
Author:
Adrienne Watt
Nelson Eng
Date Added:
11/26/2014
Foundations of Computation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. It has been used for several years in a course at Hobart and William Smith Colleges. The course has no prerequisites other than introductory computer programming. The first half of the course covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers material on automata, formal languages, and grammar that would ordinarily be encountered in an upper level course in theoretical computer science.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Hobart and William Smith Colleges
Author:
Carol Critchlow, David Eck
Date Added:
02/18/2015
How to Think Like a Computer Scientist: Learning with Python
Unrestricted Use
CC BY
Rating
5.0 stars

Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's. However, Python was also created to solve real problems and it borrows a wide variety of features from programming languages such as C++, Java, Modula-3, and Scheme. Because of this, one of Python's most remarkable features is its broad appeal to professional software developers, scientists, researchers, artists, and educators. 278 page pdf file.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen B. Downey
Jeffrey Elkner
Date Added:
01/01/2008
The Little Book of Semaphores
Read the Fine Print
Some Rights Reserved
Rating
0.0 stars

The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.

Subject:
Computer Science
Information Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen B. Downey
Date Added:
01/01/2008
Open Data Structures
Unrestricted Use
CC BY
Rating
0.0 stars

The goal of this project is to free undergraduate computer science students from having to pay for an introductory data structures book. I have decided to implement this goal by treating this book like an Open Source software project. The LATEX source, Java source, and build scripts for the book are available to download from the author’s website and also, more importantly, on a reliable source code management site.

Subject:
Computer Science
Material Type:
Textbook
Provider:
BCcampus
Provider Set:
BCcampus Open Textbooks
Author:
Pat Morin
Date Added:
10/28/2014
Operating Systems and Middleware: Supporting Controlled Interaction
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

In this book, you will learn about all three kinds of interaction. In all three cases, interesting software techniques are needed in order to bring the computations into contact, yet keep them sufifciently at arm’s length that they don’t compromise each other’s reliability. The exciting challenge, then, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as your email and word processing programs do. It also includes support for data storage and network communication. This book describes how all these kinds of support are provided both by operating systems and by additional software layered on top of operating systems, which is known as middleware.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Gustavus Adolphus College
Author:
Max Hailperin
Date Added:
02/18/2015
Programming Languages
Unrestricted Use
CC BY
Rating
0.0 stars

This course covers the entire family of programming languages, starting with an introduction to programming languages in general and a discussion of the features and functionality that make up a modern programming language. Upon successful completion of this course, the student will be able to: identify the common concepts used to create programming languages; compare and contrast factors and commands that affect the programming state illustrate how execution ordering affects programming; identify the basic objects and constructs in Object-Oriented Programming; explain the characteristics of pure functional functions in functional programming; describe the structures and components utilized in logical programming. (Computer Science 404)

Subject:
Computer Science
Material Type:
Assessment
Lecture
Lecture Notes
Reading
Syllabus
Textbook
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Programming Languages: Application and Interpretation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don’t know the answer, but because this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you’re reading.

The main programming language used in this book is Racket. Like with all operating systems, however, Racket actually supports a host of programming languages, so you must tell Racket which language you’re programming in.

This textbook has been used in classes at: Brown University, Cal Poly, Columbus State University, Northeastern University, NYU, Reed College, UC-San Diego, UC-Santa Cruz, University of Rhode Island, University of Utah, Westmont College, Williams College, and Worcester Polytechnic Institute.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Brown University
Author:
Shriram Krishnamurthi
Date Added:
02/18/2015
Software Engineering
Unrestricted Use
CC BY
Rating
0.0 stars

This course presents software engineering concepts and principles in parallel with the software development life cycle. Topics addressed include the Software Development Life Cycle (SDLC), software modeling using Unified Modeling Language (UML), major phases of SDLC (Software Requirements and Analysis, Software Design, and Software Testing), and project management. Upon successful completion of this course, the student will be able to: demonstrate mastery of software engineering knowledge and skills, and professional issues necessary to practice software engineering; discuss principles of software engineering; describe software development life cycle models; learn principles of software modeling through UML as a modeling language; identify major activities and key deliverables in a software development life cycle during software requirements and analysis, software design, and software testing; apply the object-oriented methodology in software engineering to create UML artifacts for software analysis and requirements, software design, and software testing; apply project management concepts in a software engineering environment to manage project, people, and product; participate as an individual and as part of a team to deliver quality software systems. This free course may be completed online at any time. (Computer Science 302)

Subject:
Computer Science
Material Type:
Assessment
Full Course
Homework/Assignment
Reading
Syllabus
Textbook
Provider:
The Saylor Foundation
Date Added:
04/16/2012
Think Complexity
Unrestricted Use
CC BY
Rating
5.0 stars

This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science. This book focuses on discrete models, which include graphs, cellular automata, and agent-based models. They are often characterized by structure, rules and transitions rather than by equations. They tend to be more abstract than continuous models; in some cases there is no direct correspondence between the model and a physical system.

Subject:
Computer Science
Information Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen B. Downey
Date Added:
01/01/2012
Think Java: How to Think Like a Computer Scientist
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Think Java is an introduction to Java programming for beginners. It is tailored for students preparing for the Computer Science Advanced Placement (AP) Exam, but it is for anyone who wants to learn Java.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen B. Downey
Chris Mayfield
Date Added:
01/01/2012
Think OS: A Brief Introduction to Operating Systems
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

Think OS is an introduction to Operating Systems for programmers. In many computer science programs, Operating Systems is an advanced topic. By the time students take it, they usually know how to program in C, and they have probably taken a class in Computer Architecture. Usually the goal of the class is to expose students to the design and implementation of operating systems, with the implied assumption that some of them will do research in this area, or write part of an OS.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen B. Downey
Date Added:
01/01/2011
Think Python: An Introduction to Software Design
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

Think Python is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters.

Subject:
Computer Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen B. Downey
Date Added:
01/01/2007
Ways to Study
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Scientific research and design is traditionally made to be published in books or magazines by use of text and images. The arrival of digital media and internet changed this dramatically and allowed new possibilities and far better accessibility of this work. Be this as it may, it is still paramount that the accuracy and completeness of published scientific work is maintained. This course will focus on this integrated concept, the learning of how to successfully make and publish your own website. In 6 lectures the several aspects of traditional scientific research will be treated by using the contemporary media. The course has the following study goals, that correspond with the given assignments and lectures: publishing own study and design work; making your work retrievable for others by use of key words; making use of digital media to describe own work; describing and evaluating of own work; making a bibliography and iconography; intrepretenting an image as a scientific document;describing in key words; compare images scientifically; deducting design types from image comparison; deducting design concepts from image comparison; deducting design models from image comparison; deducting design programs from image comparison; integrating different design concepts and becoming acquainted with research methods; defining an object of research, problem field, target field, design tools, own competence and context of research; formulating a site, context factors, motivation, design program, contribution, intended results and planning; justifying, referring and concluding of own work; giving and receiving professional critique.

Subject:
Computer Science
Material Type:
Lecture
Lecture Notes
Reading
Textbook
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
T.M. de Jong
Date Added:
02/03/2016