Computer Science

(CS.AB1)/ISBN:978-1-64459-212-0

This course includes
Lessons
TestPrep
Lab
AI Tutor (Add-on)

The Computer Science course and lab provide an introductory survey of computer science. The lab simulates real-world, hardware, software, and command-line interface environments and can be mapped to any text-book, course, or training. The computer science for beginners course and lab cover the dimensions of the subject such as Data storage and manipulation; operating systems, networking and the Internet; algorithms, programming languages, software engineering, database systems, computer graphics, and more.

Lessons

18+ Lessons | 175+ Quizzes | 96+ Flashcards | 96+ Glossary of terms

TestPrep

118+ Pre Assessment Questions | 118+ Post Assessment Questions |

Here's what you will learn

Download Course Outline

Lessons 1: Introduction

  • The Role of Algorithms
  • The History of Computing
  • An Outline of Our Study
  • The Overarching Themes of Computer Science

Lessons 2: Data Storage

  • Bits and Their Storage
  • Main Memory
  • Mass Storage
  • Representing Information as Bit Patterns
  • The Binary System
  • Storing Integers
  • Storing Fractions
  • Data and Programming
  • Data Compression
  • Communication Errors

Lessons 3: Data Manipulation

  • Computer Architecture
  • Machine Language
  • Program Execution
  • Arithmetic/Logic Instructions
  • Communicating with Other Devices
  • Programming Data Manipulation
  • Other Architectures

Lessons 4: Operating Systems

  • The History of Operating Systems
  • Operating System Architecture
  • Coordinating the Machine’s Activities
  • Handling Competition Among Processes
  • Security

Lessons 5: Networking and the Internet

  • Network Fundamentals
  • The Internet
  • The World Wide Web
  • Internet Protocols
  • Simple Client Server
  • Cybersecurity

Lessons 6: Algorithms

  • The Concept of an Algorithm
  • Algorithm Representation
  • Algorithm Discovery
  • Iterative Structures
  • Recursive Structures
  • Efficiency and Correctness

Lessons 7: Programming Languages

  • Historical Perspective
  • Traditional Programming Concepts
  • Procedural Units
  • Language Implementation
  • Object-Oriented Programming
  • Programming Concurrent Activities
  • Declarative Programming

Lessons 8: Software Engineering

  • The Software Engineering Discipline
  • The Software Life Cycle
  • Software Engineering Methodologies
  • Modularity
  • Tools of the Trade
  • Quality Assurance
  • Documentation
  • The Human-Machine Interface
  • Software Ownership and Liability

Lessons 9: Data Abstractions

  • Basic Data Structures
  • Related Concepts
  • Implementing Data Structures
  • A Short Case Study
  • Customized Data Types
  • Classes and Objects
  • Pointers in Machine Language

Lessons 10: Database Systems

  • Database Fundamentals
  • The Relational Model
  • Object-Oriented Databases
  • Maintaining Database Integrity
  • Traditional File Structures
  • Data Mining
  • Social Impact of Database Technology

Lessons 11: Computer Graphics

  • The Scope of Computer Graphics
  • Overview of 3D Graphics
  • Modeling
  • Rendering
  • Dealing with Global Lighting
  • Animation

Lessons 12: Artificial Intelligence

  • Intelligence and Machines
  • Perception
  • Reasoning
  • Additional Areas of Research
  • Artificial Neural Networks
  • Robotics
  • Considering the Consequences

Lessons 13: Theory of Computation

  • Functions and Their Computation
  • Turing Machines
  • Universal Programming Languages
  • A Noncomputable Function
  • Complexity of Problems
  • Public-Key Cryptography

Appendix A: ASCII

Appendix B: Circuits to Manipulate Two’s Complement Representations

Appendix C: Vole: A Simple Machine Language

  • The Vole Architecture1
  • The Vole’s Machine Language

Appendix D: High-Level Programming Languages

  • Ada
  • C
  • C++
  • C#
  • Fortran
  • Java

Appendix E: The Equivalence of Iterative and Recursive Structures

Hands-on LAB Activities (Performance Labs)

Data Storage

  • Understanding Boolean Operations
  • Using the ASCII Code
  • Using the Floating-Point Notation

Data Manipulation

  • Using Logic Operations
  • Understanding Input and Output

Operating Systems

  • Understanding Operating System Architecture

Networking and the Internet

  • Understanding Hyperlinks
  • Using the Headings

Algorithms

  • Understanding Functions

Programming Languages

  • Using Variables and Data Types
  • Using Logical Deduction

Software Engineering

  • Understanding the software life cycle

Data Abstractions

  • Using Arrays

Database Systems

  • Using Database Systems

Computer Graphics

  • Understanding Computer Graphics

Artificial Intelligence

  • Understanding Artificial Neural Networks

Theory of Computation

  • Understanding Universal Programming Languages