0% found this document useful (0 votes)
38 views

FUNDAMENTALS OF COMPUTER PROGRAMMING-Syllabus

Uploaded by

pawanbisht393
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

FUNDAMENTALS OF COMPUTER PROGRAMMING-Syllabus

Uploaded by

pawanbisht393
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

FUNDAMENTALS OF COMPUTER

PROGRAMMING

B. Tech (Computer Science and


Program Name
Engineering)
Course Name: Course Code L-T-P Credits
Fundamentals of ENCS101 4-0-0 4
Computer Programming
Type of Course: Major Course

Contact Hours 40 hrs

Version
Pre-requisite(s), if any: None

Course Perspective. This course introduces students to the foundational


aspects of computer programming, with a focus on understanding computer
fundamentals, programming in Python, and applying these skills to data pre-
processing, classification, and visualization. Designed to equip students with
both theoretical knowledge and practical programming skills, the course bridges
the gap between computer science principles and their application in real-world
scenarios.
The Course Outcomes (COs). On completion of the course the participants
will be:

COs Statements

Understanding the fundamentals of Python, including syntax,


CO
variables, data types, and operators, and apply them in basic
1
programming tasks

CO Applying control flow structures and functions to solve problems using


2 Python's built-in data structures like lists, dictionaries, sets, and tuples.

CO Implementing object-oriented programming concepts and manage file


3 handling and exception handling to develop robust Python applications.

CO Analyzing and visualize data using Python libraries, and explore the
4 basics of web development and client-server architecture.

Course Outline:
Unit Number: No. of hours:
Title: Getting started with Python
1 10
Content:
Introduction to Python Programming: History of Python, Python Features,
Local Environment Setup, setting up Python environment: Installing Python,
IDEs (e.g., VSCode, Anaconda, PyCharm);
Python Programming Basics: Python Syntax, Keywords, Understanding
Variables, numbers, and data types.
Operators: Arithmetic, Assignment, Comparison, Logical, Identity,
Membership, Bitwise.
Python String: Manipulating strings, Modify Strings, String Concatenation,
Format – Strings, Escape Characters, Inbuilt method of Strings.
Unit Number: Title: Control Flow and Data No. of hours:
2 Structures in Python 10
Content:
Conditional statements: if, elif, else; Loops: for loop, while loop, nested
loops; Control flow statements: break, continue.
Functions: Defining functions, parameters, function calls, return statement;
Scope and lifetime of variables. Recursive and Lambda Functions.
Basics of Python Data Structure: Mutable: List, Dictionary, Set, Immutable
Types: Numbers, String, tuple.
Lists: Operations, methods, slicing; Tuples and sets: Properties, operations;
Dictionaries: Creating, accessing, modifying.
Unit Number: Title: Object-Oriented Programming No. of hours:
3 and File Handling in Python 10
Content:
OOPs Concept: Introduction to object-oriented programming (OOP),
Abstraction, encapsulation, Polymorphism;
Classes and objects: Defining classes, creating objects; Constructors in
Python ,Parameterized and Non-parameterized.
Inheritance, and polymorphism: Types, Method overriding and overloading;
Special methods (dunder methods): __init__, __str__, __repr__ .
File handling: Opening, reading, writing, and closing files;
Exception handling: try, except, finally blocks.
Unit Number: Title: Data handling and web No. of hours:
4 development in python 10
Content:
Data visualization with matplotlib: line plot, multiple subplots in one
figure, histograms, bar charts, pie charts, scatter plots
Handling data with pandas: series, dataframes, read and write csv file,
operations using dataframe
Numpy arrays: numpy - datatype, array operations, statistical functions,.

Introduction to Web Development with Python: Overview of web


development
Basics of client-server architecture.

Learning Experiences
 Engage with introductory materials using lecture PPTs and problem-based
theory assignments to understand Python's history, features, and basic
programming constructs, including syntax, data types, and operators.
 Apply knowledge through practical lab assignments and mini projects,
reinforcing concepts of control flow, functions, and data structures like
lists, tuples, sets, and dictionaries.
 Develop object-oriented programming skills with lecture notes and class
activities, focusing on creating and managing classes and objects, and
handling file operations and exceptions.
 Practice data handling and visualization using course packet exercises,
employing tools like matplotlib, pandas, and numpy for data manipulation
and visualization, and gaining a basic understanding of web development
concepts.
 Consolidate learning with a question bank and sample question papers to
review and test understanding of Python programming concepts and their
applications.
 Integrate theory with practice through the combination of lecture
materials, hands-on assignments, and review resources, ensuring a
comprehensive understanding and practical application of Python
programming.
Text and Reference Book
1. John V Guttag. “Introduction to Computation and Programming Using
Python”, Prentice Hall of India
2. R. Nageswara Rao, “Core Python Programming”, Dreamtech
3. Wesley J. Chun. “Core Python Programming, Second Edition”, Prentice Hall
4. Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, “Data
Structures and Algorithms in Python”, Wiley
Additional Readings:
R 1. https://www.tutorjoes.in/python_programming_tutorial/
R 2. https://www.udemy.com/course/100-days-of-code/
R 3. https://favtutor.com/blog-details/7-Python-Projects-For-Beginners
R 4. https://github.com/NaviRocker/100-days-of-python
R 5. https://hackr.io/blog/python-projects
Online Learning Resources
1. Codecademy
 Offers interactive Python courses that cover basic to advanced
programming concepts, including data types, control structures,
functions, and object-oriented programming.
 Link: Codecademy Python
2. Python.org
 The official Python website provides a comprehensive beginner's
guide, documentation, and tutorials to get started with Python
programming.
 Link: Python Beginner's Guide
3. GitHub Learning Lab
 An interactive learning platform where you can learn to code and
collaborate on projects directly within GitHub, which is an essential
tool for programmers.
 Link: GitHub Learning Lab
4. LeetCode
 Ideal for practicing Python coding skills through interactive coding
challenges and problems, particularly useful for preparing for
technical job interviews.
 Link: LeetCode

FUNDAMENTALS OF COMPUTER
PROGRAMMING LAB
B. Tech (Computer Science and
Program Name
Engineering)
Course Name: Course Code L-T-P Credits
Fundamentals of Computer
ENCS151 0-0-2 1
Programming lab

Type of Course: Major

Version

Contact Hours 30 hrs

Pre-requisites none
Defined Course Outcomes
Demonstrating proficiency in using Python's development
CO1 environment and effectively utilize basic and advanced programming
constructs to solve problems.
Developing Python programs that incorporate fundamental data
CO 2 structures, control flows, and functions to process and manipulate
data
Constructing object-oriented Python applications demonstrating an
CO 3 understanding of classes, objects, inheritance, and polymorphism to
solve complex problems
Implementing the effectiveness of algorithms involving searching,
CO 4 sorting, and recursion in Python, and visualize data using Python’s
libraries to communicate results clearly and effectively
Lab Experiments
S.N Lab Task Mapped
CO/COs
1 Write a Python function that takes two numbers as input and returns a CO1
string indicating whether the first number is greater than, less than, or
equal to the second number using comparison operators.
2 Create a Python program that functions as a calculator. It should support CO1
addition, subtraction, multiplication, division, and modulus operations.
Maintain a history of calculations performed and provide an option to
display the history. Implement error handling for division by zero.
3 Develop a Python function that takes a list of tuples as input, where each CO1
tuple contains two numbers. For each tuple, compare the numbers using
all comparison operators and store the results in a dictionary. Return a list
of dictionaries for all comparisons.
4 Write a Python program to simulate the operations of basic logic gates CO1
(AND, OR, NOT, NAND, NOR, XOR) using functions. The program should
take two boolean inputs and the type of gate, then return the result of the
logical operation.
5 Create a Python function to check if any permutation of an input string is CO2
a palindrome. For example, the string "civic" is a palindrome, and "ivicc"
is a permutation of "civic". The function should return True if any
permutation is a palindrome, otherwise False.
6 Develop a Python function that takes a string and a substring as input and CO2
returns the number of times the substring appears in the string.
Implement this without using built-in string functions and optimize it for
large inputs.
7 Write a Python function that performs bitwise operations (AND, OR, XOR) CO2
on two arrays of integers. The function should take two arrays and an
operator as input, perform the bitwise operation element-wise, and return
the resulting array.
8 Create a class CustomString that mimics some of the built-in string CO3
methods in Python. Implement methods like find(), replace(), split(), and
join(). The class should be able to handle these operations efficiently and
correctly.
9 Create a Python function that finds all prime numbers up to a given CO3
number n. Use nested loops to check for primality and optimize the
function to handle large inputs efficiently. Additionally, allow the user to
break the loop prematurely if they input a specific command.
10 Write a Python program that takes a list of tuples representing student CO3
names and grades, and sorts the list by grades using a lambda function.
Ensure that if two students have the same grade, they are sorted by their
names.
11 Create a Python function that takes a list of integers and returns a new CO2
list containing only the unique elements of the original list. Use a set to
remove duplicates and maintain the order of elements as they appear in
the original list.
12 Write a Python function that takes a string of text and returns a dictionary CO2
with the frequency of each word in the text. The function should handle
punctuation and capitalization correctly and provide a case-insensitive
count.
13 Create a Python function that takes a tuple as an argument and returns a CO2
new tuple with the elements reversed. Demonstrate the use of tuples as
function parameters and unpacking tuple elements within the function.
14 Create a Python function that checks if a given string containing CO2
parentheses is balanced. The function should return True if the
parentheses are balanced and False otherwise. Use a stack to solve this
problem and handle multiple types of parentheses: (), {}, and [].
15 Create a Python function that takes a list of strings and groups them into CO2
anagrams. The function should return a list of lists, where each sublist
contains words that are anagrams of each other. Use dictionaries to store
and group the anagrams efficiently
16 Create a class BankAccount that represents a bank account with CO3
attributes account_number, account_holder, and balance. Implement
methods for depositing, withdrawing, and checking the balance. Override
the __str__ and __repr__ methods to provide meaningful string
representations of the account. Include error handling to prevent
overdrafts.
17 Create a class Book with attributes title, author, and isbn. Implement a CO3
class Library that manages a collection of books. Implement methods to
add, remove, and search for books by title or author. Use file handling to
save and load the library collection from a file.
18 Write a Python program that copies the contents of one file to another. CO3
Implement functions to open, read, write, and close files. Use exception
handling to manage file errors, such as file not found or permission
denied.
19 Create a base class Employee with attributes name and employee_id. CO3
Derive classes Manager and Developer from Employee, each with
additional attributes and methods specific to their roles. Override
methods where necessary and use polymorphism to write a function that
prints the details of all employees.
20 Develop a class Item with attributes name, price, and quantity. Create a CO3
class ShoppingCart that manages a collection of items
21 Write a Python program that encrypts and decrypts the contents of a file CO3
using a simple Caesar cipher.
22 Project Title: Data Visualization Dashboard using Flask CO4

23 COVID-19 Data Analysis and Visualization CO4


Create a Python application to analyze and visualize COVID-19 data using
pandas, numpy, and matplotlib.

24 Project Title: Blog Web Application using Flask CO4


Create a blog web application using Flask that allows users to create,
read, update, and delete blog posts
25 Project : Health and Fitness Tracker CO4
Develop a Health and Fitness Tracker that reads user data from a CSV file,
including steps taken, calories burned, and heart rate.

Online learning resources


 Codecademy
o Interactive coding platform that offers hands-on Python courses,
teaching both the basics and more advanced topics in Python. Ideal
for practicing specific programming tasks.
o Link: Codecademy Python Course
 HackerRank
o Provides a vast range of programming problems across various
domains of computer science, along with a dedicated Python
domain. Great for practicing coding skills and understanding
algorithms.
o Link: HackerRank Python
 LeetCode
o Known for its extensive array of programming challenges that can
help improve your understanding of data structures and algorithms.
It's particularly good for preparing for technical job interviews.
o Link: LeetCode
 GitHub
o Not just a code repository, GitHub offers collaborative features and
a wealth of open-source projects where students can engage in
real-world software development and contribute to ongoing
projects.
o Link: GitHub

You might also like