The 4-year BSc program in Computer Science is a comprehensive course of study that provides students with a solid foundation in the principles and practices of computer science. This program is typically designed to equip students with the knowledge and skills necessary to pursue careers in various computing fields or to continue their education at the graduate level. The program usually starts with foundational courses that cover essential concepts such as programming, algorithms, data structures, computer organization, and discrete mathematics. These courses establish the fundamental building blocks of computer science. As students’ progress through the program, they delve deeper into core computer science areas. These courses include topics such as software engineering, databases, operating systems, computer networks, theory of computation, and artificial intelligence. Students gain a comprehensive understanding of these areas and develop proficiency in problem-solving, programming languages, and software development methodologies. Many courses incorporate project-based learning, where students work on real- world problems or create software applications under the guidance of faculty members. This hands-on experience helps students apply their knowledge, develop problem-solving skills, and gain practical exposure to the field of computer science. The students are provided with the opportunity to acquire valuable industry experience by working in tech companies, research labs, or other relevant organizations through internship programs. This help students apply theoretical knowledge in real-world settings, develop professional skills, and make industry connections.

Overall, the 4-year BSc program in Computer Science provides students with a comprehensive education in computer science principles, theories, and practical skills. It prepares them for a wide range of career opportunities in software development, data analysis, system administration, cyber security, research, and more.  

Programme Outcomes (POs):

The expected outcome of the programme are-

  1. Students will be able to design, develop, and implement software solutions usingappropriate algorithms, programming languages, and software engineering principles.
  2. Students will have a strong foundation in computer science theory, including data structures, algorithms, automata theory, and computer organization.
  3. Students will be able to analyze and evaluate complex computer systems, identifying strengths, weaknesses, and potential improvements.
  4. Students will have experience working in teams on software projects, including collaboration, project planning, and communication.
  5. Students will be able to apply ethical principles to their work in computer science, including issues related to privacy, security, and intellectual property.
  6. Students will be able to effectively communicate technical information to both technical and non-technical audiences, including through technical reports and presentations. Students will be able to adapt to new technologies and programming languages as they emerge, and continue to learn and develop professionally throughout their careers.

Course Objectives :

  • CO1: Understand the basic syntax and concepts of Java programming language
  • CO2: Apply object-oriented programming principles effectively.
  • CO3: Develop proficiency in handling file I/O operations.
  • CO4: Implement multithreading and concurrency concepts in Java applications.
  • CO5: Work with programs that use a RDBMS for data storage.
  • CO6: Understand and implement networking concepts through java programs.
  • CO7: Design and develop GUI applications using Java Swing.

Learning Outcomes:

  • LO1: Remembering: Recognize Java syntax, keywords, and fundamental concepts.
  •  LO2: Understanding: Explain object-oriented programming principles and their application in Java.
  • LO3: Applying: Implement Java programs to solve various computational problems using object-oriented techniques.
  • LO4: Analyzing: Analyze and debug Java code for errors and inefficiencies, applying object- oriented design principles.
  • LO5: Evaluating: Critique and optimize Java programs for performance and maintainability, considering object-oriented design principles.
  • LO6: Creating: Design and develop multithreaded Java programs, networking programs and GUI based applications using object-oriented methodologies.