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
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
Reviews
There are no reviews yet.