Computer Science and Engineering
Department of Computer Science and Engineering, NATIONAL INSTITUTE OF TECHNOLOGY CALICUT, Kozhikode - 673601, KERALA, INDIA
Program Educational Objectives (PEOs)
- PEO1: Graduates shall have sound knowledge regarding the fundamental principles and techniques in the discipline of Computer Science and Engineering.
- PEO2: Graduates shall have the ability to specify, design, develop and maintain reliable and efficient software.
- PEO3: Graduates shall have the necessary communication and management skills and ethical values to become competent professionals.
Programme Outcomes (POs) and Programme Specific Outcomes (PSOs)
Programme Outcomes (POs)
- PO1 - Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an engineering specialization to the solution of complex engineering problems.
- PO2 - Problem analysis: Identify, formulate, research literature, and analyze complex engineering problems reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences.
- PO3 - Design/development of solutions: Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations.
- PO4 - Conduct investigations of complex problems: Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
- PO5 - Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modelling to complex engineering activities with an understanding of the limitations.
- PO6 - The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
- PO7 - Environment and sustainability: Understand the impact of the professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
- PO8 - Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
- PO9 - Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings.
- PO10 - Communication: Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions.
- PO11 - Project management and finance: Demonstrate knowledge and understanding of the engineering and management principles and apply these to one’s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.
- PO12 - Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-long learning in the broadest context of technological change.
Programme Specific Outcomes (PSOs)
- PSO1: Analyze computational problems and design effective and efficient algorithmic solutions.
- PSO2: Write effective code for implementing algorithmic solutions and use available software tools for the design of efficient software solutions.
CURRICULUM
Total credits for completing B.Tech. in Computer Science and Engineering is 150.
COURSE CATEGORIES AND CREDIT REQUIREMENTS
The structure of B.Tech. programmes shall have the following Course Categories:
| Sl. No. | Course Category | Number of Courses | Minimum Credits |
|---|---|---|---|
| 1. | Institute Core (IC) | 8 | 22 |
| 2. | Program Core (PC) and Program Electives (PE) | 24-25 | 82 |
| 3. | Open Electives (OE) | 8 | 24 |
| 4. | Institute Electives (IE) (Entrepreneurship Innovation (EI) + Digital / Automation Technologies (DA) + Humanities, Social Science, Management (HM)) |
6 | 18 |
| 5. | Activity Credits (AC) | -- | 4 |
- COURSE REQUIREMENTS
The effort to be put in by the student is indicated in the tables below:
- L: Lecture (One unit is of 50 minute duration)
- T: Tutorial (One unit is of 50 minute duration)
- P: Practical (One unit is of one hour duration)
- O: Outside the class effort / self-study (One unit is of one hour duration)
1. INSTITUTE CORE (IC)
a) Mathematics
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits |
|---|---|---|---|---|---|---|---|
| 1. | MA1002E | Mathematics I | 3 | 1* | 0 | 5 | 3 |
| 2. | MA1012E | Mathematics II | 3 | 1* | 0 | 5 | 3 |
| 3. | MA2002E | Mathematics III | 3 | 1* | 0 | 5 | 3 |
| 4. | MA2012E | Mathematics IV | 3 | 1* | 0 | 5 | 3 |
| Total | 12 | 4* | 0 | 20 | 12 | ||
*Optional for Students (can be replaced by self-study)
b) Basic Sciences
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits |
|---|---|---|---|---|---|---|---|
| 1. | PH1001E | Physics of Materials | 3 | 0 | 0 | 6 | 3 |
| 2. | BT1001E | Biology for Engineers | 3 | 0 | 0 | 6 | 3 |
| Total | 6 | 0 | 0 | 12 | 6 | ||
c) Professional Communication and Professional Ethics
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits |
|---|---|---|---|---|---|---|---|
| 1. | MS1001E | Professional Communication | 3 | 0 | 0 | 6 | 3 |
| 2. | CS2019E | Professional Ethics | 1 | 0 | 0 | 2 | 1 |
| Total | 4 | 0 | 0 | 8 | 4 | ||
2A. PROGRAMME CORE (PC)
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits |
|---|---|---|---|---|---|---|---|
| 1 | CS1001E | Computer Programming | 3 | 0 | 0 | 6 | 3 |
| 2 | CS1002E | Introduction to Computing Science | 3 | 0 | 0 | 6 | 3 |
| 3 | CS1003E | Discrete Structures I | 3 | 0 | 0 | 6 | 3 |
| 4 | CS1091E | Programming Laboratory | 0 | 0 | 3 | 3 | 2 |
| 5 | CS1011E | Program Design | 3 | 0 | 0 | 6 | 3 |
| 6 | CS1012E | Logic Design | 3 | 0 | 0 | 6 | 3 |
| 7 | CS1013E | Discrete Structures II | 3 | 0 | 0 | 6 | 3 |
| 8 | CS1092E | Program Design Laboratory | 1 | 0 | 3 | 5 | 3 |
| 9 | CS2001E | Data Structures and Algorithms | 3 | 1 | 2 | 6 | 4 |
| 10 | CS2002E | Computer Organization | 3 | 1 | 2 | 6 | 4 |
| 11 | CS2091E | Data Structures and Algorithms Laboratory | 1 | 0 | 3 | 5 | 3 |
| 12 | CS2092E | Hardware Laboratory | 1 | 0 | 3 | 5 | 3 |
| 13 | CS2011E | Database Management System | 3 | 1 | 2 | 6 | 4 |
| 14 | CS2012E | Operating Systems | 3 | 1 | 2 | 6 | 4 |
| 15 | CS2013E | Theory of Computation | 3 | 0 | 0 | 6 | 3 |
| 16 | CS3001E | Computer Networks | 3 | 1 | 2 | 6 | 4 |
| 17 | CS3002E | Compiler Design | 3 | 1 | 2 | 6 | 4 |
| 18 | CS3003E | Design and Analysis of Algorithms | 3 | 1 | 2 | 6 | 4 |
| 19 | CS3011E | Software Engineering | 3 | 1 | 2 | 6 | 4 |
| 20 | CS3012E | Artificial Intelligence | 3 | 1 | 2 | 6 | 4 |
| 21 | CS3099E | Project | 0 | 0 | 0 | 9 | 3 |
| 22 | CS4097E | Summer Internship | - | - | - | * | 2 |
| Total | 73 | ||||||
* Decided by the organisation in which the internship is done
2B. LIST OF ELECTIVES
Following courses may be credited under the categories mentioned in the table below.
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Categories | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| PE | EI | DA | HM | ||||||||
| 1. | CS4021E | Logic for Computer Science | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 2. | CS4022E | Program Analysis | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 3. | CS4023E | Formal Semantics | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 4. | CS4024E | Computational Complexity | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 5. | CS4025E | Formal Verification | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 6. | CS4026E | Vehicular Networks: Theory to Practice | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 7. | CS4027E | Computational Geometry | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 8. | CS4029E | Principles of Programming Languages | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 9. | CS4030E | Foundations of Programming | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 10. | CS4031E | Network Security | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 11. | CS4032E | Computer Security | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 12. | CS4033E | Quantum Computation | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 13. | CS4034E | Advanced Computer Networks | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 14. | CS4035E | Probabilistic Methods in Combinatorics | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 15. | CS4036E | Algorithms in Optimization | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 16. | CS4037E | Algorithmic Graph Theory | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 17. | CS4038E | Computational Algebra | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 18. | CS4039E | Computer Architecture | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 19. | CS4040E | Mathematical Foundations of Machine Learning | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 20. | CS4041E | Introduction to Machine Learning | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 21. | CS4042E | Randomized Algorithms | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 22. | CS4043E | Introduction to Parameterized Algorithms | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 23. | CS4044E | Introduction to Parameterized Complexity Theory | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 24. | CS4045E | Image Processing | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 25. | CS4046E | Deep Learning for Computer Vision | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 26. | CS4047E | Advanced Computer Architecture and Security | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 27. | CS4048E | Cloud Computing | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 28. | CS4049E | Distributed Computing | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 29. | CS4050E | Natural Language Processing | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 30. | CS4051E | Introduction to Bioinformatics | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 31. | CS4052E | Number Theory and Cryptography | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 32. | CS4053E | Data Mining | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 33. | CS4054E | Embedded Systems | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 34. | CS4055E | Object Oriented Systems | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 35. | CS4056E | Approximation Algorithms | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 36. | CS4057E | Data Privacy | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 37. | CS4058E | Coding Theory | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 38. | CS4059E | Term Paper | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 39. | CS4080E | Operating Systems Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 40. | CS4081E | Compiler Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 41. | CS4082E | Digital Design Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 42. | CS4083E | Database System Design Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 43. | CS4084E | Networks Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 44. | CS4085E | Software Engineering Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 45. | CS4086E | Systems Programming Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 46. | CS4087E | Computer Security Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 47. | CS4088E | Object Oriented Systems Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 48. | CS4089E | Machine Learning Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 49. | CS4090E | Image Processing Laboratory | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 50. | CS4091E | Processor Design Lab | 1 | 0 | 3 | 5 | 3 | Y | N | Y | N |
| 51. | CS4098E | Project | 0 | 0 | 0 | 9 | 3 | Y | N | N | N |
| 52. | CS4099E | Project | 0 | 0 | 0 | 18* | 6 | Y | N | N | N |
| 53. | CS4101E# | Deep Learning: Algorithms and Architecture | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 54. | CS4102E# | AI for Healthcare | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 55. | CS4201E## | Cyber-Physical Systems: Modelling and Simulation | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 56. | CS4202E## | Foundations of IoT and M2M Communications | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
| 57. | CS4060E | Machine Learning Models | 3 | 0 | 0 | 6 | 3 | Y | N | Y | N |
* Decided by the organisation in which the project is done, if carried out outside the Institute.
# Introduced as part of the Minor program on Artificial Intelligence and Machine Learning
## Introduced as part of the Minor program on Cyber-Physical Systems
3. OPEN ELECTIVES (OE)
Courses offered by other Departments / Schools / Centres or Approved Online Platforms, with a limit on the maximum number of courses from such platforms specified as per B.Tech. Ordinances and Regulations. In addition, all PE courses except Projects offered by CSE shall be permitted to be included in this category for students of B.Tech. CSE.
4. INSTITUTE ELECTIVES (IE)
In case of the Institute Electives, courses in the appropriate categories offered by other departments/schools/centres also can be credited instead of the courses offered by the Computer Science & Engineering Department, subject to the approval from the Course Faculty and Faculty Advisor.
- a) Entrepreneurship / Innovation Basket (EI)
- Courses proposed by the Departments/Schools/Centres and approved by Institute Innovation Council. Total credits required is 3.
- b) Digital Automation Technologies (DA)
- Courses related to programming / automation tools & techniques / Industry 4.0. These courses may be proposed by Departments/Schools/Centres and approved by the Senate to be included in the DA category. Total credits required is 6. All of CSE’s PEs can be credited as DA electives too.
- c) Humanities, Social Science, Management (HM)
- Courses such as Indian and Foreign languages, Economics, Engineering Management, Financial Management and Design Thinking. These courses may be proposed by Departments/Schools/Centres and approved by the Senate to be included in HM category. Total credits required is 9.
5. ACTIVITY CREDITS (AC)
A minimum of 80 Activity Points are to be acquired for obtaining the 4 Activity Credits required in the curriculum.
- Activity points acquired should be a minimum of 20 at the end of S4.
- Activity points acquired should be a minimum of 40 at the end of S6.
PROGRAMME STRUCTURE
Semester I
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | MA1002E | Mathematics I | 3 | 1* | 0 | 5 | 3 | IC |
| 2. | MS1001E | Professional Communication | 3 | 0 | 0 | 6 | 3 | IC |
| 3. | CS1001E | Computer Programming | 3 | 0 | 0 | 6 | 3 | PC |
| 4. | CS1002E | Introduction to Computing Science | 3 | 0 | 0 | 6 | 3 | PC |
| 5. | CS1003E | Discrete Structures I | 3 | 0 | 0 | 6 | 3 | PC |
| 6. | CS1091E | Programming Laboratory | 0 | 0 | 3 | 3 | 2 | PC |
| Total | 17 | |||||||
Semester II
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | MA1012E | Mathematics II | 3 | 1* | 0 | 5 | 3 | IC |
| 2. | PH1001E | Physics of Materials | 3 | 0 | 0 | 6 | 3 | IC |
| 3. | BT1001E | Biology for Engineers | 3 | 0 | 0 | 6 | 3 | IC |
| 4. | CS1011E | Program Design | 3 | 0 | 0 | 6 | 3 | PC |
| 5. | CS1012E | Logic Design | 3 | 0 | 0 | 6 | 3 | PC |
| 6. | CS1013E | Discrete Structures II | 3 | 0 | 0 | 6 | 3 | PC |
| 7. | CS1092E | Program Design Laboratory | 1 | 0 | 3 | 5 | 3 | PC |
| Total | 21 | |||||||
Semester III
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | MA2002E | Mathematics III | 3 | 1* | 0 | 5 | 3 | IC |
| 2. | CS2001E | Data Structures and Algorithms | 3 | 1 | 2 | 6 | 4 | PC |
| 3. | CS2002E | Computer Organization | 3 | 1 | 2 | 6 | 4 | PC |
| 4. | EI Elective | 3 | 0 | 0 | 6 | 3 | EI | |
| 5. | CS2091E | Data Structures and Algorithms Laboratory | 1 | 0 | 3 | 5 | 3 | PC |
| 6. | CS2092E | Hardware Laboratory | 1 | 0 | 3 | 5 | 3 | PC |
| Total | 20 | |||||||
Semester IV
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | MA2012E | Mathematics IV | 3 | 1* | 0 | 5 | 3 | IC |
| 2. | CS2011E | Database Management Systems | 3 | 1 | 2 | 6 | 4 | PC |
| 3. | CS2012E | Operating Systems | 3 | 1 | 2 | 6 | 4 | PC |
| 4. | CS2013E | Theory of Computation | 3 | 0 | 0 | 6 | 3 | PC |
| 5. | CS2019E | Professional Ethics | 1 | 0 | 0 | 2 | 1 | IC |
| 6. | DA Elective - 1 | 3 | 0 | 0 | 6 | 3 | DA | |
| 7. | Minor Course - 1 | 3 | 0 | 0 | 6 | 3# | MC | |
| Total (Excluding the Minor Courses) | 18 | |||||||
Semester V
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | CS3001E | Computer Networks | 3 | 1 | 2 | 6 | 4 | PC |
| 2. | CS3002E | Compiler Design | 3 | 1 | 2 | 6 | 4 | PC |
| 3. | CS3003E | Design and Analysis of Algorithms | 3 | 1 | 2 | 6 | 4 | PC |
| 4. | Humanities Elective - 1 | 3 | 0 | 0 | 6 | 3 | HM | |
| 5. | DA Elective - 2 | 3 | 0 | 0 | 6 | 3 | DA | |
| 6. | Minor Course - 2 | 3 | 0 | 0 | 6 | 3# | MC | |
| Total (Excluding the Minor Courses) | 18 | |||||||
Semester VI
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | CS3011E | Software Engineering | 3 | 1 | 2 | 6 | 4 | PC |
| 2. | CS3012E | Artificial Intelligence | 3 | 1 | 2 | 6 | 4 | PC |
| 3. | Humanities Elective - 2 | 3 | 0 | 0 | 6 | 3 | HM | |
| 4. | Open Elective - 1 | 3 | 0 | 0 | 6 | 3 | OE | |
| 5. | Open Elective - 2 | 3 | 0 | 0 | 6 | 3 | OE | |
| 6. | CS3099E | Project | 0 | 0 | 0 | 9 | 3 | PC |
| 7. | Minor Course - 3 | 3 | 0 | 0 | 6 | 3# | MC | |
| Total (Excluding the Minor Courses) | 20 | |||||||
Semester VII
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | Humanities Elective - 3 | 3 | 0 | 0 | 6 | 3 | HM | |
| 2. | Open Elective - 3 | 3 | 0 | 0 | 6 | 3 | OE | |
| 3. | Open Elective - 4 | 3 | 0 | 0 | 6 | 3 | OE | |
| 4. | Open Elective - 5 | 3 | 0 | 0 | 6 | 3 | OE | |
| 5. | Open Elective - 6 | 3 | 0 | 0 | 6 | 3 | OE | |
| 6. | CS4097E | Summer Internship* | - | - | - | * | 2 | PC |
| 7. | CS4098E / | Project / Programme Elective - 1 | - | - | - | - | 3 | PE |
| 8. | Minor Course - 4 | 3 | 0 | 0 | 6 | 3# | MC | |
| Total (Excluding the Minor Courses) | 20 | |||||||
* CS4097E Summer Internship (including the academic internship) is to be completed during the vacation after S6, and the evaluation will be done in S7. Working hours will be decided by the organisation in which the internship is done.
Semester VIII
| Sl. No. | Course Code | Course Title | L | T | P | O | Credits | Category |
|---|---|---|---|---|---|---|---|---|
| 1. | CS4099E / | Project / Programme Elective - 2, Programme Elective - 3 |
- | - | - | - | 6 | PE |
| 2. | Open Elective - 7 | 3 | 0 | 0 | 6 | 3 | OE | |
| 3. | Open Elective - 8 | 3 | 0 | 0 | 6 | 3 | OE | |
| 4. | CS4096E | Activity Credits (minimum of 80 points) | - | - | - | - | 4 | AC |
| Total | 16 | |||||||
*Optional for Students (can be replaced by self-study)
# Credits for minor courses are in addition to the total credits for the B.Tech degree.