1.
Data Structures - Stack
Definition:
A stack is a linear data structure that follows the LIFO (Last In, First Out) principle.
Operations:
- push(x): Add element x to the stack.
- pop(): Remove the top element.
- peek(): View the top element.
- isEmpty(): Check if stack is empty.
Applications:
- Expression evaluation
- Undo operation in editors
- Function call stack in programming
2. Operating Systems - Process Scheduling
Process Scheduling:
Determines the order in which processes are executed by the CPU.
Scheduling Algorithms:
- FCFS (First Come First Serve)
- SJF (Shortest Job First)
- Round Robin (uses time quantum)
- Priority Scheduling
Goal: Maximize CPU utilization, reduce waiting time, turnaround time.
3. Computer Networks - OSI Model
OSI Model Layers:
1. Physical - Transmits raw bits
2. Data Link - Frames, MAC addresses
3. Network - IP addressing, routing
4. Transport - TCP/UDP
5. Session - Maintains connections
6. Presentation - Encryption, translation
7. Application - User interface (HTTP, FTP)
4. DBMS - Normalization
Normalization:
Process of organizing data to reduce redundancy.
Normal Forms:
- 1NF: Eliminate repeating groups
- 2NF: Eliminate partial dependency
- 3NF: Eliminate transitive dependency
- BCNF: Stronger version of 3NF
Helps in efficient database design and data integrity.
5. Software Engineering - SDLC
SDLC (Software Development Life Cycle):
Phases in software development:
1. Requirement Analysis
2. System Design
3. Implementation (Coding)
4. Testing
5. Deployment
6. Maintenance
Models:
- Waterfall
- Agile
- Spiral
- V-Model