Introduction to Computer Science

  1. Software Fundamentals
    1. Software Classification
      1. System Software
        1. Operating Systems
          1. Device Drivers
            1. Firmware
              1. System Utilities
              2. Application Software
                1. General-Purpose Applications
                  1. Specialized Applications
                    1. Custom Software
                    2. Programming Software
                      1. Compilers and Interpreters
                        1. Debuggers
                          1. Integrated Development Environments
                        2. Operating Systems
                          1. OS Functions and Services
                            1. Process Management
                              1. Process Creation and Termination
                                1. Process Scheduling
                                  1. First-Come First-Served
                                    1. Shortest Job First
                                      1. Round Robin
                                        1. Priority Scheduling
                                        2. Process Synchronization
                                          1. Deadlock Prevention
                                          2. Memory Management
                                            1. Memory Allocation Strategies
                                              1. Virtual Memory Management
                                                1. Memory Protection
                                                  1. Garbage Collection
                                                  2. File System Management
                                                    1. File Organization Methods
                                                      1. Directory Structures
                                                        1. File Access Methods
                                                          1. File Security and Permissions
                                                          2. Device Management
                                                            1. Device Drivers
                                                              1. I/O Scheduling
                                                                1. Plug and Play
                                                                  1. Power Management
                                                                  2. Network Management
                                                                    1. Network Protocols
                                                                      1. Network Security
                                                                        1. Resource Sharing
                                                                      2. User Interfaces
                                                                        1. Command-Line Interface (CLI)
                                                                          1. Shell Commands
                                                                            1. Command Syntax
                                                                              1. Scripting Capabilities
                                                                                1. Batch Processing
                                                                                2. Graphical User Interface (GUI)
                                                                                  1. Window Management
                                                                                    1. Event-Driven Programming
                                                                                      1. User Interaction Elements
                                                                                        1. Accessibility Features
                                                                                      2. Types of Operating Systems
                                                                                        1. Single-User vs Multi-User
                                                                                          1. Single-Tasking vs Multi-Tasking
                                                                                            1. Real-Time Operating Systems
                                                                                              1. Distributed Operating Systems
                                                                                                1. Mobile Operating Systems
                                                                                              2. Software Development Process
                                                                                                1. Software Development Life Cycle (SDLC)
                                                                                                  1. Requirements Analysis
                                                                                                    1. Stakeholder Identification
                                                                                                      1. Requirements Gathering Techniques
                                                                                                        1. Requirements Documentation
                                                                                                          1. Feasibility Analysis
                                                                                                          2. System Design
                                                                                                            1. Architectural Design
                                                                                                              1. Detailed Design
                                                                                                                1. User Interface Design
                                                                                                                  1. Database Design
                                                                                                                  2. Implementation
                                                                                                                    1. Coding Standards
                                                                                                                      1. Code Documentation
                                                                                                                        1. Version Control Systems
                                                                                                                          1. Code Review Processes
                                                                                                                          2. Testing
                                                                                                                            1. Test Planning
                                                                                                                              1. Unit Testing
                                                                                                                                1. Integration Testing
                                                                                                                                  1. System Testing
                                                                                                                                    1. User Acceptance Testing
                                                                                                                                      1. Test Automation
                                                                                                                                      2. Deployment
                                                                                                                                        1. Release Planning
                                                                                                                                          1. Installation Procedures
                                                                                                                                            1. User Training
                                                                                                                                              1. System Migration
                                                                                                                                              2. Maintenance
                                                                                                                                                1. Corrective Maintenance
                                                                                                                                                  1. Adaptive Maintenance
                                                                                                                                                    1. Perfective Maintenance
                                                                                                                                                      1. Preventive Maintenance
                                                                                                                                                    2. Software Development Methodologies
                                                                                                                                                      1. Waterfall Model
                                                                                                                                                        1. Agile Methodologies
                                                                                                                                                          1. Spiral Model
                                                                                                                                                            1. DevOps Practices
                                                                                                                                                          2. Software Quality and Metrics
                                                                                                                                                            1. Quality Attributes
                                                                                                                                                              1. Functionality
                                                                                                                                                                1. Reliability
                                                                                                                                                                  1. Usability
                                                                                                                                                                    1. Efficiency
                                                                                                                                                                      1. Maintainability
                                                                                                                                                                        1. Portability
                                                                                                                                                                        2. Software Metrics
                                                                                                                                                                          1. Size Metrics
                                                                                                                                                                            1. Complexity Metrics
                                                                                                                                                                              1. Quality Metrics
                                                                                                                                                                                1. Productivity Metrics
                                                                                                                                                                              2. Software Tools and Utilities
                                                                                                                                                                                1. Development Tools
                                                                                                                                                                                  1. Text Editors and IDEs
                                                                                                                                                                                    1. Compilers and Interpreters
                                                                                                                                                                                      1. Debuggers and Profilers
                                                                                                                                                                                      2. System Utilities
                                                                                                                                                                                        1. File Management Tools
                                                                                                                                                                                          1. System Monitoring Tools
                                                                                                                                                                                            1. Backup and Recovery Tools
                                                                                                                                                                                              1. Security Tools