Comprehensive Course Structure Overview
The curriculum for the B.Tech in Software Engineering is meticulously structured to provide a balanced blend of foundational knowledge, advanced technical skills, and practical experience. The program spans eight semesters, with each semester comprising core courses, departmental electives, science electives, and laboratory sessions.
Semester | Course Code | Course Title | Credits (L-T-P-C) | Prerequisites |
---|---|---|---|---|
1 | CSE101 | Introduction to Computer Science | 3-1-0-4 | None |
1 | MATH101 | Engineering Mathematics I | 3-0-0-3 | None |
1 | PHY101 | Physics for Engineers | 3-0-0-3 | None |
1 | CHM101 | Chemistry for Engineers | 3-0-0-3 | None |
1 | CSE102 | Programming Fundamentals | 3-1-0-4 | None |
2 | CSE103 | Data Structures and Algorithms | 3-1-0-4 | CSE102 |
2 | MATH102 | Engineering Mathematics II | 3-0-0-3 | MATH101 |
2 | PHY102 | Electromagnetism and Optics | 3-0-0-3 | PHY101 |
2 | CHM102 | Organic Chemistry | 3-0-0-3 | CHM101 |
2 | CSE104 | Object-Oriented Programming with Java | 3-1-0-4 | CSE102 |
3 | CSE201 | Database Management Systems | 3-1-0-4 | CSE103 |
3 | MATH201 | Probability and Statistics | 3-0-0-3 | MATH102 |
3 | PHY201 | Thermodynamics and Statistical Mechanics | 3-0-0-3 | PHY102 |
3 | CHM201 | Inorganic Chemistry | 3-0-0-3 | CHM102 |
3 | CSE202 | Computer Organization and Architecture | 3-1-0-4 | CSE104 |
4 | CSE203 | Operating Systems | 3-1-0-4 | CSE202 |
4 | MATH202 | Linear Algebra and Differential Equations | 3-0-0-3 | MATH201 |
4 | PHY202 | Modern Physics | 3-0-0-3 | PHY201 |
4 | CHM202 | Physical Chemistry | 3-0-0-3 | CHM201 |
4 | CSE204 | Software Engineering Principles | 3-1-0-4 | CSE201 |
5 | CSE301 | Computer Networks | 3-1-0-4 | CSE203 |
5 | MATH301 | Numerical Methods and Optimization | 3-0-0-3 | MATH202 |
5 | PHY301 | Quantum Mechanics | 3-0-0-3 | PHY202 |
5 | CHM301 | Chemical Kinetics and Catalysis | 3-0-0-3 | CHM202 |
5 | CSE302 | Advanced Algorithms | 3-1-0-4 | CSE103 |
6 | CSE303 | Distributed Systems | 3-1-0-4 | CSE301 |
6 | MATH302 | Discrete Mathematics | 3-0-0-3 | MATH301 |
6 | PHY302 | Electronics and Instrumentation | 3-0-0-3 | PHY301 |
6 | CHM302 | Environmental Chemistry | 3-0-0-3 | CHM301 |
6 | CSE304 | Human Computer Interaction | 3-1-0-4 | CSE204 |
7 | CSE401 | Software Testing and Quality Assurance | 3-1-0-4 | CSE303 |
7 | MATH401 | Mathematical Modeling | 3-0-0-3 | MATH302 |
7 | PHY401 | Optical Fiber Communications | 3-0-0-3 | PHY302 |
7 | CHM401 | Biochemistry and Molecular Biology | 3-0-0-3 | CHM302 |
7 | CSE402 | System Design and Architecture | 3-1-0-4 | CSE304 |
8 | CSE403 | Final Year Project | 0-0-6-6 | All previous courses |
8 | MATH402 | Research Methodology | 3-0-0-3 | MATH401 |
8 | PHY402 | Biophysics | 3-0-0-3 | PHY401 |
8 | CHM402 | Pharmaceutical Chemistry | 3-0-0-3 | CHM401 |
8 | CSE404 | Advanced Software Engineering Topics | 3-1-0-4 | CSE402 |
Beyond the core courses, students also engage in departmental electives and science electives that align with their interests and career goals. These are designed to provide depth and specialization within the broader field of software engineering.
Advanced Departmental Elective Courses
These advanced elective courses offer in-depth exploration of specialized topics within software engineering, providing students with cutting-edge knowledge and skills that are highly valued in the industry:
- Deep Learning with TensorFlow: This course delves into neural network architectures, convolutional networks, recurrent networks, and reinforcement learning using TensorFlow. Students gain hands-on experience in building and deploying scalable machine learning models for real-world applications.
- Natural Language Processing: Focused on language understanding and generation, this course covers tokenization, parsing, sentiment analysis, and transformer-based models. Students work on projects involving chatbots, translation systems, and text summarization tools.
- Reinforcement Learning: This advanced course explores Q-learning, policy gradients, and deep reinforcement learning techniques. Students implement algorithms to solve complex decision-making problems in robotics, game theory, and autonomous systems.
- Cloud Architecture and DevOps: Designed for students interested in cloud-native development, this course covers AWS, Azure, and GCP services, containerization with Docker, orchestration with Kubernetes, and CI/CD pipelines. Students build and deploy scalable applications using modern infrastructure practices.
- Network Security and Ethical Hacking: This course provides comprehensive knowledge of network security threats, cryptographic protocols, and penetration testing methodologies. Students learn to defend against cyberattacks through practical simulations and real-world case studies.
- Software Testing and Quality Assurance: This course teaches various testing strategies including unit testing, integration testing, and performance testing. Students explore automation frameworks, test-driven development, and quality metrics for software delivery.
- User Experience Design: This elective focuses on design thinking, user research, prototyping, and usability evaluation. Students create interactive interfaces and conduct usability studies to improve product design.
- Big Data Technologies: This course introduces Hadoop, Spark, and NoSQL databases for processing large-scale datasets. Students learn to extract insights from big data using advanced analytics and visualization tools.
- Mobile App Development: Students explore both Android and iOS platforms, learning mobile UI/UX design, native development frameworks, and cross-platform solutions. Projects include building functional apps with real-world functionality.
- Embedded Systems Programming: This course covers embedded C programming, real-time operating systems, and hardware-software integration. Students build microcontroller-based systems for IoT applications and industrial automation.
Project-Based Learning Philosophy
The department's philosophy on project-based learning is rooted in experiential education that bridges theory with practice. We believe that students learn best when they are actively engaged in solving real-world problems through collaborative projects. Our approach emphasizes iterative development, continuous feedback, and mentorship from faculty and industry experts.
Mini-projects begin in the second semester, allowing students to apply foundational concepts while working in small teams. These projects are designed to foster teamwork, communication, and problem-solving skills. Students receive structured guidance throughout the process, with milestones for planning, execution, and evaluation.
The final-year thesis project is a capstone experience that allows students to explore an area of personal interest within software engineering. They select a faculty mentor based on shared research interests and work closely with them over several months to complete a substantial, original contribution to the field.
Each project is evaluated using rubrics that assess technical competency, creativity, documentation quality, presentation skills, and teamwork. Faculty mentors play a crucial role in guiding students through each phase of their project journey, ensuring they meet academic standards while gaining valuable industry exposure.