3rd Semester BSCS Course Outline
The third semester of the BSCS program takes students deeper into the core principles of computer science, focusing on advanced problem-solving and practical applications. This semester emphasizes algorithm design, software engineering concepts, and an introduction to computer organization. Students also continue to enhance their mathematical and analytical skills.
Core Subjects in the 3rd Semester
Software Engineering - I
- Introduction to Software Development Life Cycle (SDLC).
- Software process models: Waterfall, Agile, and Spiral.
- Requirements engineering: Gathering, documenting, and managing requirements.
- Basics of software design, including architectural and modular design.
- Use of Unified Modeling Language (UML) for system design.
Operating Systems
- Fundamental concepts of operating systems: Process management, threads, and multitasking.
- Memory management techniques: Paging, segmentation, and virtual memory.
- File systems and input/output management.
- Basics of process synchronization and deadlocks.
- Practical exposure to OS commands and shell scripting.
Multivariate Calculus
- Advanced calculus topics: Partial derivatives, multiple integrals, and vector calculus.
- Applications of multivariate calculus in computer graphics and simulations.
- Line and surface integrals with real-world applications.
- Jacobian, gradient, divergence, and curl.
Data Structures and Algorithms
- Advanced data structures: Graphs, heaps, and tries.
- Sorting and searching algorithms, including quicksort and mergesort.
- Algorithm analysis using Big O, Big Theta, and Big Omega notations.
- Applications of data structures in real-world software problems.
- Hands-on lab exercises to implement and optimize algorithms.
Computer Organization and Assembly Language
- Basics of computer organization: Registers, buses, and memory hierarchy.
- Assembly language programming for low-level hardware interaction.
- Instruction sets, addressing modes, and interrupts.
- Role of assembly in optimizing performance-critical applications.
- Practical labs for writing and debugging assembly code.
Artificial Intelligence (AI)
- Introduction to AI and its applications in modern computing.
- Problem-solving techniques: Search algorithms (BFS, DFS), heuristic search, and optimization.
- Basics of machine learning: Supervised, unsupervised, and reinforcement learning.
- AI tools and frameworks for developing intelligent systems.
- Real-world AI applications: Chatbots, recommendation systems, and robotics.
Skills Gained in the 3rd Semester
By the end of the 3rd semester, students will have:
- A solid understanding of software engineering processes and design principles.
- Practical knowledge of operating system concepts and their implementation.
- Proficiency in advanced data structures and algorithms.
- A deeper understanding of hardware and low-level programming through assembly language.
- Analytical and mathematical skills through multivariate calculus.
- Foundational knowledge of artificial intelligence and its real-world applications.
Why the 3rd Semester is Important?
The 3rd semester plays a vital role in preparing students for advanced computer science topics. It introduces foundational concepts in AI and operating systems, along with practical skills in programming and system design. By mastering these subjects, students are better equipped to tackle complex problems in fields like machine learning, system development, and software engineering.