Updating search results...

Search Resources

20 Results

View
Selected filters:
  • Community College / Lower Division
  • Full Course
Introduction to Computer Science I
Unrestricted Use
CC BY
Rating
0.0 stars

This course will introduce students to the field of computer science and the fundamentals of computer programming. No prior programming experience is required. Upon successful completion of this course, students will be able to: Demonstrate an understanding of the history of computing as well as fundamental hardware and software concepts; Demonstrate an understanding of the programming life cycle; Explain how the JVM translates Java code into executable code; Demonstrate an understanding of Object-Oriented Programming concepts; Demonstrate an understanding of basic Java concepts by writing simple programs; Demonstrate an understanding of logical and relational operators as well as control structures; Demonstrate proficiency in basic Java I/O techniques by writing small programs. (Computer Science 101; See also: Mathematics 302)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Introduction to Computer Science II
Unrestricted Use
CC BY
Rating
0.0 stars

This course is a continuation of the first-semester course titled Introduction to Computer Science I. It will introduce the student to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. The student will begin with a comparison between Java--the programming language utilized last semester--and C++, another popular, industry-standard programming language. The student will then discuss the fundamental building blocks of Object-Oriented Programming, reviewing what they have learned learned last semester and familiarizing themselves with some more advanced programming concepts. The remaining course units will be devoted to various advanced topics, including the Standard Template Library, Exceptions, Recursion, Searching and Sorting, and Template Classes. By the end of the class, the student will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting. Upon successful completion of this course, the student will be able to: Demonstrate an understanding of the concepts of Java and C++ and how they are used in Object-Oriented Programming; Demonstrate an understanding of the history and development of Object-Oriented Programming; Explain the importance of the C++ Standard Template Library and how basic components are used; Demonstrate a basic understanding of the importance of run-time analysis in programming; Demonstrate an understanding of important sorting and search routines in programming; Demonstrate an understanding of the generic usage of templates in programming for C++ and Java; Compare and contrast the features of Java and C++. (Computer Science 102; See also: Mathematics 303)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
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
Information Security
Unrestricted Use
CC BY
Rating
0.0 stars

This course focuses on the fundamentals of information security that are used in protecting both the information present in computer storage as well as information traveling over computer networks. Upon successful completion of this course, the student will be able to: explain the challenges and scope of information security; explain such basic security concepts as confidentiality, integrity, and availability, which are used frequently in the field of information security; explain the importance of cryptographic algorithms used in information security in the context of the overall information technology (IT) industry; identify and explain symmetric algorithms for encryption-based security of information; identify and explain public key-based asymmetric algorithms for encryption-based security of information; describe the access control mechanism used for user authentication and authorization; describe Secure Sockets Layer (SSL) as a common solution enabling security of many applications, including all Internet-based commerce; describe securing Internet Protocol (IP) communications by using Internet Protocol Security (IPSec); explain the importance of physical security and discuss ways to improve physical security of an enterprise; explain the use of such security tools as firewalls and intrusion prevention systems; explain malicious software issues, such as those brought forth by software-based viruses and worms; explain common software security issues, such as buffer overflow; describe the basic process of risk assessment in the context of overall IT security management. (Computer Science 406)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Introduction to Modern Database Systems
Unrestricted Use
CC BY
Rating
0.0 stars

This course provides a general overview of databases, including topics such as database history, modern database systems, the different models used to design a database, and Structured Query Language (SQL), which is the standard language used to access and manipulate databases. Upon successful completion of this course, the student will be able to: compare and contrast the database approach and the file system approach; explain what a database management system is as well as the various components; identify the various people involved in database management systems; explain the historical background of database management systems; compare the various database models; describe the functions of a database management system; explain the three-schema database architecture; describe what tables, indexes, and views are as well as discuss the differences among them; explain the entity-relationship model; develop an entity-relationship model based on user requirements; describe the relational database model; explain the process of normalization; convert an entity-relationship diagram to a set of normalized relations; explain referential integrity; identify how relational algebra is used to construct queries; describe and use data definition commands; describe and use data manipulation commands; explain how to join tables together for queries. (Computer Science 403)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Theory of Computation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Computability Theory deals with one of the most fundamental questions in computer science: What is computing and what are the limits of what a computer can compute? Or, formulated differently: ‰"What kind of problems can be algorithmically solved?‰" During the course this question will be studied. Firstly, the notion of algorithm or computing will be made precise by using the mathematical model of a Turing machine. Secondly, it will be shown that basic issues in computer science, like "Given a program P does it halt for any input x?" or "Given two program P and Q, are they equivalent?" cannot be solved by any Turing machine. This shows that there exist problems that are impossible to solve with a computer, the so-called "undecidable problems".

Subject:
Computer Science
Material Type:
Full Course
Lecture
Lecture Notes
Reading
Provider:
Delft University of Technology
Provider Set:
TU Delft OpenCourseWare
Author:
J.F.M. Tonino
Date Added:
02/22/2016
Computer Architecture
Unrestricted Use
CC BY
Rating
0.0 stars

The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. The student will study the history of modern computing technology before learning about modern computer architecture, then the recent switch from sequential processing to parallel processing. Upon completion of this course, students will be able to: identify important advances that have taken place in the history of modern computing and discuss some of the latest trends in computing industry; explain how programs written in high-level programming language, such as C or Java, can be translated into the language of the hardware; describe the interface between hardware and software and explain how software instructs hardware to accomplish desired functions; demonstrate an understanding of the process of carrying out sequential logic design; demonstrate an understanding of computer arithmetic hardware blocks and floating point representation; explain how a hardware programming language is executed on hardware and how hardware and software design affect performance; demonstrate an understanding of the factors that determine the performance of a program; demonstrate an understanding of the techniques that designers use to improve the performance of programs running on hardware; demonstrate an understanding of the importance of memory hierarchy in computer design and explain how memory design impacts overall hardware performance; demonstrate an understanding of storage and I/O devices, their performance measurement, and redundant array of inexpensive disks (more commonly referred to by the acronym RAID) technology; list the reasons for and the consequences of the recent switch from sequential processing to parallel processing in hardware manufacture and explain the basics of parallel programming. (Computer Science 301)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Operating Systems
Unrestricted Use
CC BY
Rating
0.0 stars

The course presents an overview of the history and structure of modern operating systems, analyzing in detail each of the major components of an operating system, and exploring more advanced topics in the field, such as security concerns. Upon successful completion of this course, the student will be able to: explain what an operating system does and how it is used; identify the various components of a computer system and how they interact with an operating system; describe the differences between a 32-bit and 64-bit operating system; explain the different types of operating systems and the major ones in use today; discuss the importance and use of threads and processes in an operating system; describe concurrency; explain the difference between a thread and a process; discuss context switching and how it is used in an operating system; describe synchronization; explain a race condition; discuss interprocess communication; describe how semaphores can be used in an operating system; discuss three of the classic synchronization problems; explain the alternatives to semaphores; discuss CPU scheduling and its relevance to operating systems; explain the general goals of CPU scheduling; describe the differences between pre-emptive and non-preemptive scheduling; discuss four CPU scheduling algorithms; explain what deadlock is in relation to operating systems; discuss deadlock prevention, avoidance, and their differences; describe deadlock detection and recovery; explain the memory hierarchy; discuss how the operating system interacts with memory; describe how virtual memory works; discuss three algorithms for dynamic memory allocation; explain methods of memory access; describe paging and page replacement algorithms; describe a file system and its purpose; discuss various file allocation methods; explain disk allocation and associated algorithms; discuss types of security threats; describe the various types of malware; explain basic security techniques; explain basic networking principles; discuss protocols and how they are used; explain reference models, particularly TCP/IP and OSI. (Computer Science 401)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Management Information Systems (Business 206)
Unrestricted Use
CC BY
Rating
0.0 stars

Management Information Systems (MIS) is a formal discipline within business education that bridges the gap between computer science and the well-known business disciplines of finance, marketing, and management.

Subject:
Computer Science
Information Science
Business and Communication
Finance
Management
Material Type:
Activity/Lab
Full Course
Homework/Assignment
Reading
Syllabus
Provider:
The Saylor Foundation
Date Added:
11/10/2011
Computer Communications and Networks
Unrestricted Use
CC BY
Rating
0.0 stars

Detailed introduction to the basic hardware and software, architectural components for computer communications in local area networks. The components that are focused upon include understanding the basics of computer networks, switching, routing, protocols and security.

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Elementary Data Structures
Unrestricted Use
CC BY
Rating
0.0 stars

In this course, the student will learn the theoretical and practical aspects of algorithms and Data Structures. The student will also learn to implement Data Structures and algorithms in C/C++, analyze those algorithms, and consider both their worst-case complexity and practical efficiency. Upon successful completion of this course, students will be able to: Identify elementary Data Structures using C/C++ programming languages; Analyze the importance and use of Abstract Data Types (ADTs); Design and implement elementary Data Structures such as arrays, trees, Stacks, Queues, and Hash Tables; Explain best, average, and worst-cases of an algorithm using Big-O notation; Describe the differences between the use of sequential and binary search algorithms. (Computer Science 201)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Contents Home   Bookshelves   Computer Science   Operating Systems   Linux - The Penguin Marches On (McClanahan) Linux - The Penguin Marches On
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

This course and its materials follow the CompTIA Linux+ curriculum and prepares students for that certification.

Subject:
Computer Science
Material Type:
Full Course
Provider:
LibreTexts
Author:
Patrick McClanahan
Date Added:
12/05/2022
C++ Programming
Unrestricted Use
CC BY
Rating
5.0 stars

The student will learn the mechanics of editing and compiling a simple program written in C++ beginning with a discussion of the essential elements of C++ programming: variables, loops, expressions, functions, and string class. Next, the student will cover the basics of object-oriented programming: classes, inheritance, templates, exceptions, and file manipulation. The student will then review function and class templates and the classes that perform output and input of characters to/from files. This course will also cover the topics of namespaces, exception handling, and preprocessor directives. In the last part of the course, the student will learn some slightly more sophisticated programming techniques that deal with data structures such as linked lists and binary trees. Upon successful completion of this course, students will be able to: Compile and execute code written in C++ language; Work with the elementary data types and conditional and iteration structures; Define and use functions, pointers, arrays, struct, unions, and enumerations; Write C++ using principles of object-oriented programming; Write templates and manipulate the files; Code and use namespaces, exceptions, and preprocessor instructions; Write a code that represents linked lists and binary trees; Translate simple word problems into C++ language. (Computer Science 107)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Discrete Structures
Unrestricted Use
CC BY
Rating
0.0 stars

This course describes discrete mathematics, which involves processes that consist of sequences of individual steps (as compared to calculus, which describes processes that change in a continuous manner). The principal topics presented in this course are logic and proof, induction and recursion, discrete probability, and finite state machines. Upon successful completion of this course, the student will be able to: Create compound statements, expressed in mathematical symbols or in English, to determine the truth or falseness of compound statements and to use the rules of inference to prove a conclusion statement from hypothesis statements by applying the rules of propositional and predicate calculus logic; Prove mathematical statements involving numbers by applying various proof methods, which are based on the rules of inference from logic; Prove the validity of sequences and series and the correctness or repeated processes by applying mathematical induction; Define and identify the terms, rules, and properties of set theory and use these as tools to support problem solving and reasoning in applications of logic, functions, number theory, sequences, counting, probability, trees and graphs, and automata; Calculate probabilities and apply counting rules; Solve recursive problems by applying knowledge of recursive sequences; Create graphs and trees to represent and help prove or disprove statements, make decisions or select from alternative choices to calculate probabilities, to document derivation steps, or to solve problems; Construct and analyze finite state automata, formal languages, and regular expressions. (Computer Science 202)

Subject:
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Web Accessibility for Developers
Conditional Remix & Share Permitted
CC BY-SA
Rating
5.0 stars

Web Accessibility for Developers is a technical book aimed primarily at programmers. Learn how to develop accessible interactivity on the Web and gain expertise using WAI-ARIA, a W3C specification that enables optimal use of assistive technologies, like screen readers, when navigating the Web.

Subject:
Computer Science
Engineering
Material Type:
Full Course
Textbook
Provider:
Ryerson University
Author:
Digital Education Strategies The Chang School
Greg Gay
Igor Karasyov
Date Added:
03/08/2019
Web Technologies (GGC)
Unrestricted Use
CC BY
Rating
0.0 stars

This complete set of course materials contains all files used for in-class activities and labs, a full set of lecture slides, project assignments, and a test bank. Topics covered include:

HTML Basics
CSS
Images
Page Layout
Tables
Forms
Multimedia
JavaScript

Subject:
Computer Science
Material Type:
Full Course
Provider:
University System of Georgia
Provider Set:
Galileo Open Learning Materials
Author:
Shuhua Lai
Shuting Xu
Date Added:
06/20/2018
Web Technologies and Application Development (Open Course) (KSU)
Unrestricted Use
CC BY
Rating
0.0 stars

This open course for Web Technologies and Application Development was created through a Round Ten Affordable Learning Georgia Mini-Grant for Ancillary Materials Creation.

The course includes original study guides, lectures, and examples within these topics:

HTML
CSS
JavaScript
Dynamic HTML
HTML Forms
PHP
User Experience
Web App Security
Web 2.0
Mobile Web

The website for the course also features student websites created during the KSU course with Dr. Zheng.

Subject:
Computer Science
Material Type:
Full Course
Provider:
University System of Georgia
Provider Set:
Galileo Open Learning Materials
Author:
Guangzhi Zheng
Zhigang Li
Date Added:
06/20/2018
Ethical Hacking for Effective Defense (Modules, Labs, and Lectures)
Unrestricted Use
CC BY
Rating
0.0 stars

The following set of materials is used in the Textbook Transformation Grants implementation of Ethical Hacking for Effective Defense:

https://oer.galileo.usg.edu/compsci-collections/8/

Topics include:

TCP/IP Level Attacks
Port Scanning
DDoS
Footprinting and Social Engineering
Enumeration
Programming for Security Professionals
Operating System Vulnerabilities
Embedded System Security
Hacking Web Servers
Hacking Wireless Networks
Cryptography
Protecting Networks with Security Devices

Subject:
Computer Science
Material Type:
Full Course
Provider:
University System of Georgia
Provider Set:
Galileo Open Learning Materials
Author:
Hossain Shahriar
Date Added:
06/20/2018
Introduction to Statistics
Unrestricted Use
CC BY
Rating
0.0 stars

This course covers descriptive statistics, the foundation of statistics, probability and random distributions, and the relationships between various characteristics of data. Upon successful completion of the course, the student will be able to: Define the meaning of descriptive statistics and statistical inference; Distinguish between a population and a sample; Explain the purpose of measures of location, variability, and skewness; Calculate probabilities; Explain the difference between how probabilities are computed for discrete and continuous random variables; Recognize and understand discrete probability distribution functions, in general; Identify confidence intervals for means and proportions; Explain how the central limit theorem applies in inference; Calculate and interpret confidence intervals for one population average and one population proportion; Differentiate between Type I and Type II errors; Conduct and interpret hypothesis tests; Compute regression equations for data; Use regression equations to make predictions; Conduct and interpret ANOVA (Analysis of Variance). (Mathematics 121; See also: Biology 104, Computer Science 106, Economics 104, Psychology 201)

Subject:
Statistics and Probability
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/11/2011
Topology in Condensed Matter
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

The idea behind topological systems is simple: if there exists a quantity, which cannot change in an insulating system where all the particles are localized, then the system must become conducting and obtain propagating particles when the quantity (called a “topological invariant”) finally changes.

The practical applications of this principle are quite profound, and already within the last eight years they have lead to prediction and discovery of a vast range of new materials with exotic properties that were considered to be impossible before.
What is the focus of this course?

Applications of topology in condensed matter based on bulk-edge correspondence.
Special attention to the most active research topics in topological condensed matter: theory of topological insulators and Majorana fermions, topological classification of “grand ten” symmetry classes, and topological quantum computation
Extensions of topology to further areas of condensed matter, such as photonic and mechanical systems, topological quantum walks, topology in fractionalized systems, driven or dissipative systems.

Subject:
Computer Science
Engineering
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
TU Delft OpenCourseWare
Author:
Assistant Professor Anton Akhmerov
Date Added:
08/20/2018