CSL1010: Introduction to
Computer Science
About Me
• Professor, CSE department - December 2019 onwards
• Faculty, IIIT Delhi - 2009 - 2019
• PhD, West Virginia University, USA
• Research Area: AI, ML, CV, Biometrics
• Image Analysis and Biometrics Lab@CSE IIT Jodhpur
12/11/2022
What is a Computer ?
A computer is a general purpose device that can be programmed to process
information, and yield meaningful results.
What is this course about?
Why do you need to study this course?
What is this course about?
• Fundamentals of computers
• Fundamentals of programming
• Computational thinking
Why do you need to study this course?
• I am from non-CSE, non-AI program, or from non-circuital branches, why do
I need this course?
You should be the creators of the technology - CS+AI is inevitable in all domains
Why do you need to study this course?
• Today, automation and problem solving skills are at the core of any problem
• How do you solve a problem computationally?
Syllabus
• Introduction: Basics of computer organization: illustration using Arduino, Operating System,
Computational Thinking: Problem solving, system design, algorithms.
• Basics of Data Representation: Binary representation: Integer, Fixed point and oating point
numbers, variables, arrays and linked-list, data-types
• Programming Constructs: Imperative programming, statements, control constructs, procedures,
functions and program structure, pointers, structures, storage. Simple I/O, File I/O. Examples in
C.
• Object oriented Programming: Concept of class, instances, encapsulation, inheritance, static
Methods and class Methods, object memory management, illustrations using C and Python.
Lists, Tuples, Sets, Dictionaries, Generators Modules, packages, containers.
• Programming Paradigms: Functional programming, The lambda operator, Procedural programming,
Dynamic typing, Polymorphism Dynamic Binding and Duck Typing, Illustrations using Python.
fl
Syllabus… broadly
• Basics: • Programming:
• Organization, • Data representation,
• Operating system • Programming constructs
• Computational thinking • Object oriented programming
• Programming paradigms
Books
Tentative Evaluation Policy
• Exams: 50% (15-15-20) • Projects: group based
• Labs: 25% • Rest all: individual
• Quizzes: 10% • Cheating will not be tolerated
• Projects: 5+10 = 15% • Institute attendance policy: 75%
attendance is required.
• <75%, lower than C grade gets
converted to F
History of Computing
Abacus, 16th century Blaise Pascal, 17th century Jacquard’s loom, 18th century
History of Computing
• 1850: Analytical Engine, Charles Babbage and Ada Byron
• 1939 - 1942: Atanasoff Berry Computer - binary system of of arithmetic,
parallel processing, regenerative memory, separation of memory and
computing functions etc.
• 1940s - Colossus - a vacuum tube computing machine which broke Hitler's
codes during WW II.
• 1946 - ENIAC - World's rst electronic, large scale, general-purpose
computer, built by Mauchly and Eckert,
fi
That’s all for today.