BCSG 1001
BCSG 1001
Session 2024-25)
B.Tech. (Core CS) Computer Science & Engineering
Course Objectives: The course is designed to provide an introduction to computer programming using
Python. Learning Python basics helps develop your problem-solving skills and logical thinking, preparing you
for more advanced programming concepts.
Text Books:
• Paul Barry: “Head First Python “O’Reilly Media, Inc.".
• Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of
Computers and Code (Zed Shaw's Hard Way Series)
Reference Books:
• Bret Slatkin: “Effective Python: 59 Specific ways to write better Python”, Addison Wesley, 2015.
• https://hyperskill.org/
Outcome:
Upon completion of this course, students will be able to:
• CO1: Demonstrate a comprehensive understanding of Python syntax and semantics, and effectively
utilize Python for various programming tasks.
• CO2: Analyze and apply control structures and string manipulations in Python to solve complex
problems.
• CO3: Employ built-in Python packages and libraries to enhance program functionality and efficiency.
• CO4: Develop and manage user-defined functions to create modular, reusable, and well-structured
code.
• CO5: Implement file handling techniques to read, write, and manipulate files, ensuring data
persistence.
• CO6: Design robust programs using exception handling to gracefully manage errors and enhance
program stability.
• CO7: Integrate regular expressions for advanced text processing and pattern matching.
CO8 PO1, PO2, PO3, PO4, PO9, PO10, PO12 / PSO1, PSO3
Key:
• PO1: Engineering Knowledge - Apply the knowledge of mathematics, science, and engineering
fundamentals to solve complex engineering problems.
• PO2: Problem Analysis - Identify, formulate, 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 public health and safety, cultural, societal, and environmental
considerations.
• PO4: Conduct Investigations of Complex Problems - Use research-based knowledge and
research methods including the design of experiments, analysis, and interpretation of data,
and synthesis of 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 modeling, to complex engineering
activities, with an understanding of the limitations.
• PO6: The Engineer and Society - Apply reasoning informed by contextual knowledge to assess
societal, health, safety, legal, and cultural issues and the consequent responsibilities relevant
to professional engineering practice.
• 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
engineering and management principles and apply these to one’s work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.
• PO12: Lifelong Learning - Recognize the need for, and have the preparation and ability to
engage in independent and lifelong learning in the broadest context of technological change.
• PSO1: Software Development - Develop and implement efficient software solutions for real-
world problems using modern programming languages and tools.
• PSO2: Advanced Programming - Apply advanced programming concepts and techniques to
design, develop, and maintain complex software systems.
• PSO3: Problem-Solving and Computational Thinking - Employ computational thinking and
problem-solving skills to design algorithms and develop software solutions.