J.C.
Bose University of Science and Technology, YMCA,
Faridabad, Haryana
(A Haryana State Government University)
Accredited `A+` Grade By NAAC
B.Tech – IT, Semester-3
INFORMATION
TECHNOLOGY
WORKSHOP
2025-2026
- Aastha Singh
24001011001
B.Tech - IT
Aastha Singh
240001011001
INDEX
S.No. Topic Date Remarks
1|Page
Aastha Singh
240001011001
2|Page
Aastha Singh
240001011001
Basic Concepts of Programming
Anaconda Distribution
Anaconda Distribution is a free Python/R data science distribution. An Anaconda Distribution install
includes Conda and Anaconda Navigator, a desktop GUI that is preloaded with the most widely used
data science and machine learning packages. It is a tool that manages packages, recognizes your
hardware architecture, and keeps projects separate is necessary in order to ensure proper
functionality.
Open-Source versus Licensed IDEs
Parameters Open-Source IDEs Licensed IDEs
Licensed IDEs require a paid license (or
Open-source IDEs are freely available
subscription) and are developed by
Definition software whose source code is open for
companies offering polished products
anyone to view, modify, and distribute.
with support.
• Free to use
• Advanced features
• Customizable
Advantages • Professional support
• Community support
• Polished UI/UX
• Transparent development
• May lack enterprise-level support
• Costs money
Disadvantages • Is less polished, may contain bugs
• Less flexible with source code
• May need to build some features
• VS Code • PyCharm Professional (JetBrains)
• Eclipse • Visual Studio
Examples
• NetBeans • IntelliJ IDEA Ultimate
• Geany • MATLAB IDE
Open-Source IDEs provided by Anaconda Distribution:
• Jupyter Notebook
Jupyter is a large umbrella project that covers many different software offerings and tools, including
the popular Jupyter Notebook and JupyterLab web-based notebook authoring and editing applications.
The Jupyter Notebook is an Integrated Development Environment and the original web application for
creating and sharing computational documents. It offers a simple, streamlined, document-centric
experience. Jupyter supports over 40 programming languages, including Python, R, Julia, and Scala.
Notebooks can be shared with others using email, Dropbox, GitHub and the Jupyter Notebook Viewer.
The code can produce rich, interactive output: HTML, images, videos, LaTeX, and custom MIME types.
• Spyder
Spyder is an open source, community-developed scientific environment and IDE written in Python, for
Python. Spyder integrates with a number of prominent packages in the scientific Python stack,
including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source
software. It features a unique combination of the advanced editing, analysis, debugging, and profiling
3|Page
Aastha Singh
240001011001
functionality of a comprehensive development tool with the data exploration, interactive execution,
deep inspection, and beautiful visualization capabilities of a scientific package.
• PyCharm
Spyder is an open source, community-developed scientific environment and IDE written in Python, for
Python. Spyder integrates with a number of prominent packages in the scientific Python stack,
including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source
software. It features a unique combination of the advanced editing, analysis, debugging, and profiling
functionality of a comprehensive development tool with the data exploration, interactive execution,
deep inspection, and beautiful visualization capabilities of a scientific package.
IDLE for Python
IDLE is Python’s Integrated Development and Learning Environment, another IDE which is not provided
exclusively by Anaconda. IDLE has the following features:
• Python shell window (interactive interpreter) with colorizing of code input, output, and error
messages
• multi-window text editor with multiple undo, smart indent, auto completion, & other features
• debugger with persistent breakpoints, stepping, and viewing of global and local namespaces
How to install Anaconda for Windows?
1. Download the installer:
o Go to the Anaconda downloads page: https://www.anaconda.com/download
o Select the appropriate Windows installer (64-bit is recommended for most modern
systems) and download the .exe file.
2. Run the installer: Double-click the downloaded .exe file & click "Next" to proceed through the
setup wizard.
3. Agree to the license: Read the license agreement and click "I Agree".
4. Choose installation type: Select "Just Me" (recommended for personal use) or "All Users".
5. Choose installation location: Select a destination folder, or use the default location.
6. Advanced Options:
o Choose whether to add Anaconda to your PATH environment variable. It's generally
recommended to leave this unchecked and use the Anaconda Prompt for managing your
environment.
o Choose whether to register Anaconda as the default Python.
7. Install: Click "Install" to begin the installation process.
8. Complete the installation: Click "Next" and then "Finish".
9. Launch Anaconda Navigator: Search for "Anaconda Navigator" in the Windows start menu and
launch it
4|Page
Aastha Singh
240001011001
Structured Language
A structured language follows a programming paradigm that emphasizes clear, logical structure using
blocks (like loops, conditionals, and functions).
Key Features:
• Uses sequence, selection, and iteration
• Encourages modular programming
• Focuses on code clarity and structure
• Examples: C, Pascal, Ada, ALGOL
Procedural Language
A procedural language is based on the concept of procedure calls—functions or routines that execute
sequential steps.
Key Features:
• Follows a step-by-step execution model
• Code is grouped into procedures/functions
• Emphasizes how to do tasks
• Examples: C, FORTRAN, BASIC, Pascal
Object Oriented Programming
Object-oriented programming (OOP) is a programming paradigm based on the concept
of objects. Objects can contain data (called fields, attributes or properties) and have actions they can
perform (called procedures or methods and implemented in code). In OOP, computer programs are
designed by making them out of objects that interact with one another. Many of the most widely used
programming languages (such as C++, Java, and Python) support object-oriented programming.
Concepts related to OOP:
• Objects:
In software development, an object is an entity that has state, behaviour, and identity. An
object can model some part of reality or can be an invention of the design process whose
collaborations with other such objects serve as the mechanisms that provide some higher-level
behaviour. Put another way, an object represents an individual, identifiable item, unit, or entity,
either real or abstract, with a well-defined role in the problem domain.
• Classes:
In object-oriented programming, a class defines the shared aspects of objects created from the
class. The capabilities of a class differ between programming languages, but generally the
shared aspects consist of state (variables) and behaviour (methods) that are each either
associated with a particular object or with all objects of that class. Object state can differ
between each instance of the class whereas the class state is shared by all of them.
5|Page
Aastha Singh
240001011001
• Encapsulation:
In software systems, encapsulation refers to the bundling of data with the mechanisms or
methods that operate on the data. It may also refer to the limiting of direct access to some of
that data, such as an object's components. Essentially, encapsulation prevents external code
from being concerned with the internal workings of an object. It can be used to hide the values
or state of a structured data object inside a class.
• Polymorphism:
Polymorphism is the ability of any data to be processed in more than one form. The word itself
indicates the meaning as poly means many and morphism means types. It is the ability of
objects to take on different forms or behave in different ways depending on the context in
which they are used. Polymorphism is one of the most important concepts of object-oriented
programming languages. The most common use of polymorphism in object-oriented
programming occurs when a parent class reference is used to refer to a child class object.
• Abstraction:
Abstraction in computer science is the process of removing elements of a code or program that
aren't relevant or that distract from more important elements. It refers to looking at something
to maintain the general form or meaning while reducing the presence of specific details. It
allows computer programmers and users to interact with the necessary components without
conceptualizing the entire computer system. The two types of abstractions are: Data
Abstraction and Control Abstraction.
• Inheritance:
The capability of a class to derive properties and characteristics from another class is
called Inheritance. Inheritance is one of the most important features of Object-Oriented
Programming. It’s a programming procedure that allows you to reuse code by referencing the
behaviours and data of an object. In other words, a class that inherits from another class shares
all the attributes and methods of the referenced class. An inherited class is called a subclass or
child class of the class it inherits from. And the class being inherited is called either a parent
class, superclass, or base class.
Compile Time vs Runtime
Compile time: This is when you code is being translated (compiled) from text into a set of machine
instructions. A compile time error would be an error that occurs while compiling your code, such a
syntax error.
Run time: This is when your code is actually running on the machine. A run time error would be an
error that occurs while running your code, such as a buffer overflow or a null value error.
Error vs Exception
Error: The error indicates trouble that primarily occurs due to the scarcity of system resources. It is not
possible to recover from an error.
Exception: The exceptions are the issues that can appear at runtime and compile time. It is possible to recover
from an exception.
6|Page
Aastha Singh
240001011001
C vs Python
C Python
An object-oriented programming model is
An Imperative programming model is followed.
followed.
Variables and their data types are declared in C. Python has no declaration.
C doesn’t have native OOP. Python has OOP which is a part of the language.
Pointers are available in C language. No pointers functionality is available in Python.
C is a compiled language. Python is an interpreted language.
There is a limited number of built-in functions There is a large library of built-in functions in
available in C. Python.
Implementation of data structures requires its It is easy to implement data structures in Python
functions to be explicitly implemented. with built-in insert, append functions.
C is compiled directly to machine code which is Python is firstly compiled to a byte-code and
executed directly by the CPU then it is interpreted by a large C program.
C does not have complex data structures. Python has some complex data structures.
C is statically typed. Python is dynamically typed.
It is easy to learn, write and read Python
Syntax of C is harder than python.
programs than C.
C programs are saved with .c extension. Python programs are saved by .py extension.
In Python, testing and debugging are directly not
In C language testing and debugging is harder.
harder than in C.
C is complex than Python. Python is much easier than C.
C language is fast. Python programming language is slow
Python uses indentation to identify separate
C uses {} to identify a separate block of code.
blocks of code.
It is mandatory to mark the end of every It is not mandatory to mark the end of every
statement with a semicolon in C. statement with a semicolon in Python.
7|Page
Aastha Singh
240001011001
Syntax vs Semantics
Syntax:
• It refers to the rules and regulations for writing any statement in a programming language like
C/C++.
• It does not have to do anything with the meaning of the statement.
• A statement is syntactically valid if it follows all the rules.
• It is related to the grammar and structure of the language.
Semantics:
• It refers to the meaning associated with the statement in a programming language.
• It is all about the meaning of the statement which interprets the program easily.
• Errors are handled at runtime.
Declare vs Define
Parameter Definition Declaration
Allocates memory and initializes a
Specifies the name and type of a
Purpose variable or provides a function's
variable or function.
implementation.
Memory
Allocates memory. Does not allocate memory.
Allocation
Initialization Can include initialization. Does not include initialization.
Provides information about an entity's
Scope Creates an entity in a specific scope.
type.
Multiple Can only occur once for a variable or
Can occur multiple times in a file.
Occurrences function in a file.
Must follow the complete syntax for
Syntax Requires only the type and name of
initialization or function
Requirement implementation. variables or functions.
Makes the variable or function known
Makes the variable or function visible
Visibility and usable.
to the compiler, but not usable without
definition.
8|Page
Aastha Singh
240001011001
Programming using Python
1. Write a Python program to print table of a number.
n=int(input("Enter the number: "))
print("The table of",n,"is: ")
for i in range(1,11):
print(n,"x",i,"=",n*i)
Output:
2. Write a Python program to check in a number is a Palindrome.
n=int(input("Enter the number: "))
m=n
s=0
while n!=0:
s=s*10+n%10
n//=10
print("Yes, the number is a palindrome." if s==m else "No, the number is not
a palindrome.")
Output:
3. Write a Python program to check if a number is a prime number.
n=int(input("Enter the number: "))
for i in range(2,n//2):
if n%i==0:
print("No, the number is not a prime number.")
break
else:
print("Yes, the number is a prime number.")
9|Page
Aastha Singh
240001011001
Output:
4. Write a Python program to count all odd numbers in an array.
a=[]
count=0
n=int(input("Enter the number of elements in the array: "))
for i in range(n):
ele=int(input("Enter the number of elements in the array: "))
a.append(ele)
for i in a:
if i%2!=0:
count+=1
print("The number of odd elements in the array is:",count)
Output:
5. Write a Python program to count the number of vowels in a string.
s=input("Enter the string: ")
count=0
vowels="AEIOUaeiou"
for i in s:
if i in vowels:
count+=1
print("The number of vowels in the string is:",count)
Output:
10 | P a g e