0% found this document useful (0 votes)
29 views40 pages

Lecture 1

The document outlines the course structure for an Introduction to IT class, including instructor details, course format, and assessment components. It covers topics such as computer science fundamentals, programming, algorithms, and historical computing machines. The course emphasizes understanding concepts over rote coding and includes weekly lectures, homework, and quizzes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views40 pages

Lecture 1

The document outlines the course structure for an Introduction to IT class, including instructor details, course format, and assessment components. It covers topics such as computer science fundamentals, programming, algorithms, and historical computing machines. The course emphasizes understanding concepts over rote coding and includes weekly lectures, homework, and quizzes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Introduction to IT

Lecture 1
Course Info
• Instructors:
– Dr. Sarvar Abdullaev, [email protected]
– Mr. Akobir Anvarov, [email protected] , Room A512
• Telegram Channel:
– https://t.me/iut_intro2it_2025
• Course format:
– 1 video lecture uploaded to eClass every week
– 1 homework assignment every week
– Drop-in Zoom sessions for homework review and QnA
Textbooks
Main Textbook - Overview More Technical
Brookshear, J. Glenn, Brylow, D., Computer science: An Overview, 13th Steinhart, Jonathan E. The Secret Life of Programs: Understand
Ed, Pearson, 2020. Computers--Craft Better Code. No Starch Press, 2019.
Assessment Components
• 30% Mid-term exam (8th week) • 15% Quiz
• 30% Final exam (15th week) – Quizzes will be taken offline. Date and classroom will
be announced upfront.
• 15% Homework Assignments – 3-4 quizzes are planned for this semester
– All assignments are posted in eClass (i.e. – 15-minute in-class written test
http://eclass.inha.ac.kr)
– Only one attempt is allowed. If you miss it, then it's
– All completed assignments must be submitted to gone.
eClass before the deadline (usually 1 week after
assigned date) • 10% Attendance
– Assignments are NOT GRADED, but CHECKED FOR – Attendance is taken based on your activity in eClass,
COMPLETION. i.e. watching lectures, attending quizzes, participating
– You cannot submit someone else’s work as yours. in Zoom sessions.
– You cannot submit answers written by GenAI (e.g.
ChatGPT, Gemini, Claude, etc).
You will get 0 for your assignment
if ANY of below is TRUE:
• You cheat in your assignment • You submit your assignment AFTER the
– Cheating is submitting someone else’s work as yours. deadline.
– While cheating is forbidden, collaboration with other – If the deadline is set to 11:55 PM, and you
students is permissible. Collaboration means working submit your work to eClass at 11:56 PM or later,
together to understand how to complete the
it is considered as late submission.
assignment. Once you understand it, you should
complete it on your own. • You submit corrupt files
– First incident of cheating is penalized by 0 mark for – It is your responsibility to ensure that your file
given assignment only. Second incident results in FAIL is not corrupt and can be viewed by standard
for the whole course. software such as Word, PDF reader or any
• You submit answers generated by GenAI for appropriate software.
your assignment. – If you submit scanned files, make sure that your
– Use of GenAI technologies is permissible only if they handwriting is neat and readable
help you to understand the material better.
– They should not replace you, instead they should
boost your learning process.
You will FAIL the course
if ANY of below is TRUE:
• Your marks for both MID and FINAL exams are less than 30%.
• Your total mark from all assessment components is less than
30%
• You have been caught cheating for the second time.
• You have missed more than 4 weeks of your studies without a
valid excuse.
Introduction
What is a computer?
Labrador
Abacus
What is Computer Science?
• Computer - is a machine for manipulating data according to a list of
instructions known as a program
Data Manipulation = Data Input + Data Processing + Data Output

• Computer Science:
– A discipline that seeks to build a scientific foundation for computer design and
information processing using computers.
• How to design a computer?
• What to do with a computer?
What is Programming?
1. Understand the universe 2. Explain it to a 3-year-old child
– You can’t write programs to do things that – Computers are literal and lack any
you yourself don’t understand common sense or context
• Building a spellchecker -> understanding – Computers are rigid and tireless workers
linguistics with perfect memory and zero wisdom
• Building an action game -> understanding – We have good understanding of how
physics
computers are designed,
• Building plant irrigation system -> • but we don’t fully understand how our
understanding plants and agriculture consciousness works
– More important than coding • So explaining something to a computer is
– Difficult to teach
– Involves lots of creativity
Why study Computer Science, not just Programming?
• Modern programming languages and operating • A good programmer should be able to work
systems hide crucial details about how your code with any computer.
gets executed on a machine
• Programmers who don’t understand the
– Becoming a Java programmer these days is like
becoming a cardiologist without understanding the underlying system are prone to make silly bugs
human anatomy. that may cost lives or millions:
• Computers come in different forms and – Boeing 737 MAX: Software design issues led to
configurations, and they are ubiquitous. fatal crashes
– Instead of producing specialized chips, it is cheaper to – Therac-25: Radiation therapy machine killed
produce general-purpose chips on mass scale, and patients due to software bugs
drive the cost down to pennies
– Antivirus vs. Medical Equipment: Software
– Computers are everywhere: digital clocks, cars, most
crashed heart surgery equipment mid-
electronic equipment, even lamps.
operation
• Not all computing problems are solved – Breathalyzer bugs: Wrongful DUI convictions
– Sometimes you need to design something that hasn’t later overturned
been done before.
– No ChatGPT, or StackOverflow can help you in this
Modern Computing Landscape

Computer Science
What are we going to study in this course?
• Data Storage • Programming Languages
– Learn about combinatorial and sequential logic, – Learn about different programming paradigms and
logic gates to design a computer memory
the way how they are designed
• Data Manipulation
– Learn about CPU architecture and machine • Software Engineering
language to understand how data is manipulated – Learn about methodologies for software
• Operating Systems development
– Learn about key components of OS necessary for • Data Abstractions
running apps on a computer hardware
– Learn about organizing different data structures in a
• Networking and Internet computer memory
– Learn about networking protocols to ensure data
exchange between different computers • Databases
– Learn about web and basic web app development – Learn about storing and retrieving data from
using HTML and CSS relational databases
• Algorithms • Artificial Intelligence
– Learn about basic algorithms, their representation,
composition, complexity and correctness – Learn about the nature of intelligence and different
approaches in implementing it on a machine

0-13
Algorithms
What is an Algorithm?
• An algorithm is a set of steps that • To design an algorithm, one has
defines how a task is performed to:
• Algorithms play a central role in 1. Understand the problem domain
Computer Science, because:
2. Develop an abstract methodology
– most of the computational problems boil
down to finding the most efficient, for its solution
accurate, comprehensive and scalable 3. Express it in a formal language
algorithm
4. Encode it into a machine-
– once algorithm is found, it will be
compatible form
implemented into a program and executed
on a computer to perform some task 5. Run it on a machine and monitor
its behaviour
Optional
Al-Khwarizmi = Algorithm
• Muhammad ibn Musa al-Khwarizmi
– Born in 780, Khiva, Uzbekistan
– Died in 850, Baghdad, Iraq
– Prominent Works:
• Al-Jabr wal Muqabala
• Zij al-Sindhind
• Contributions:
– Introduced decimal system to Western world
– Invented Algebra and Algorithm to express algebraic
manipulations
– 116 mathematical tables describing the movements of the
Sun, Moon, and 5 other planets known at the time.
Roman way of thinking
• Roman numeric system:
– Used only for counting stuff: apples, goats, soldiers, coins, etc.
– Length, area, volume, speed were different animals, and needed
“different” numbers to measure
– I = 1, V= 5, X=10, L=50, C=100, D=500, M=1000
– MCMLIV=1954, MMMCCMXLIX=3849
• Poor Romans had to deal with:
– What is MMCCXCIII + CDXLIII = ?
– What is V * XLIII = ?
– What is LXXIX / VI = ?
– What is LIV ^ II = ?
– How to multiply some area three times?
Indian way of thinking
• Radix r representation:
– Any number can be represented with r list of symbols (digits)
– Increment the digit until:
• It reaches the desired number
• OR it reaches the end of the list, then:
– Increment the adjacent digit on the left
– Reset the digit to the beginning of the list
• Indian numeric system: Odometer principle
– 0,1,2,…,9 digits
– Radix 10 representation
Al-Khwarizmi’s Genius
You can find more in my new book
I have an algorithm for adding two
“Al-jabr wal muqobala”:
numbers
What
Let me if in Indian
transform
there is a representation!
universal
Roman numbers
abstract
subtraction,
Maybe, Roman multiplication,
way of representing
Check
into
method,
a out
different
so myrepresentation,
callednew
an invention
algorithm,-say
of
division,
numbers finding the
is not the square root,
best way?
column-wise
Indian
doing addition:
representation!
arithmetic?
solving quadratic and cubic
equations, tons of other algorithms
The Euclidean algorithm – Finding GCD
• Tiling Problem
M = 136

N= 72

R = 136 mod 72 = 64
R = 72 mod 64 = 8
R = 64 mod 8 = 0

Size of the biggest tile to cover this area is: 8 x 8


The Euclidean algorithm – Flow Chart
Start

• Let’s run the algorithm for M=63


yes
M, N M<N M, N = N, M

no
and N=182
# M N R
R = M mod N
1 63 182 -
2 182 63 -

R=0?
yes
return 3 182 63 56
N
End 4 63 56 7
no
5 56 7 0
N=R M=N
Babylonian Algorithm - Finding Square Root
• Description: Algorithm found by • Let’s run the algorithm for S=17,
ancient Babylonians to find the square our initial guess X=5, eps = 0.01
root of any number. It was mentioned
in Al-Khwarizmi’s book. t X S/X Avg(X, S/X) |Avg – X|<eps
• Algorithm: 0 5 3.4 4.2 0.8, False
1. Input 𝑆 , some small 𝜀, and guess 𝑋0 < 𝑆 1 4.2 4.05 4.125 0.075, False
1 𝑆
2. Compute 𝑋𝑡+1 = (𝑋𝑡 + ) 2 4.125 4.121 4.123 0.002, True
2 𝑋𝑡
3. If 𝑋𝑡+1 − 𝑋𝑡 < 𝜀: return 𝑋𝑡+1 ;
otherwise: Go to step 2.

We found 17 ≈ 4.12 to 0.01 precision

0-22
Why does Babylonian Algorithm work?
• Derivative of function at point 𝑥0 : • So let’s define a function:
𝑓 𝑥0 + Δ𝑥 − 𝑓 𝑥0 • 𝑓 𝑥 = 𝑆 − 𝑥2
𝑓′ 𝑥0 ≈
Δ𝑥 • What’s the root of this function?
• I want to find a step Δ𝑥 from 𝑓 √𝑆 = 0
• So if I find such x, I found 𝑆
point 𝑥0 that would set
𝑓 𝑥0 + Δ𝑥 = 0 • 𝑓′ 𝑥 = −2𝑥
• Solve above equation for Δ𝑥: • Plug these into Netwon’s
• Δ𝑥 = −𝑓(𝑥0 )/𝑓′(𝑥0 ) formula:
• Newton’s formula helps to find • 𝑥𝑡+1 = 𝑥𝑡 + (S − 𝑥𝑡 )/2𝑥𝑡 ⇒
1
the root of the function: • 𝑥𝑡+1 = (𝑥𝑡 + 𝑆/𝑥𝑡 )
2
• 𝑥𝑡+1 = 𝑥𝑡 − 𝑓(𝑥𝑡 )/𝑓′(𝑥𝑡 )
Why study Algorithms?
• Which problems can or cannot be
solved by algorithms?
• How to discover new algorithms?
• How to represent algorithms?
• What are the key characteristics of
algorithms?
• How to analyze algorithms based on
these characteristics?
• How to implement algorithms on a
machine?
• What are the applications of
algorithms?
Computing Machines

0-25
Pascaline – Pascal’s Adding Machine
• In 1642, Blaise Pascale designed a
mechanical add/subtract machine
• If you have a 3D printer, you can print
one for yourself:
– https://www.printables.com/model/32272-
mechanical-calculator-pascaline-modular-design

https://www.youtube.com/watch?v=3h71HAJWnVU
Leibniz’s Multiplication Machine
• Designed in 1671, built around 1673 (improved
until 1694).
• Stepped drum (Leibniz wheel), a cylinder with
a variable-length set of teeth.
• Supported addition, subtraction,
multiplication and division
• Leibniz was so proud of it, he demonstrated
the prototype to the Royal Society in London,
though it malfunctioned during the
presentation
• Austrian company started mass manufacturing
miniature stepped reckoners – Curta II in 1948
Babbage's Difference Engine
• Designed in 1822 to compute
polynomial functions
• they can approximate any other
functions such as log, sin, cos, etc
within given range
• Method of finite differences is used
• Let’s use this method to compute:
• 𝑝 𝑥 = 2𝑥 2 − 3𝑥 + 4 for 𝑥 = 6
• 𝑝′ 𝑥 = 4𝑥 − 3, 𝑝′′ 𝑥 = 4
𝑥 𝑓(𝑥) Δ𝑓(𝑥) Δ2 𝑓(𝑥)
𝑥0 𝑓(𝑥)
4 Δ𝑓(𝑥) Δ2 𝑓(𝑥)
01 43 -1
2 6 3 4
1 3 -1
3 13 7 4
2 4
4 24 11 4 Charles Babbage
5 39 15 4
6 58 19 4
Babbage's Difference Engine
• Designed in 1822 to compute
polynomial functions
• they can approximate any other
functions such as log, sin, cos, etc
within given range
• Method of finite differences is used
• Let’s use this method to compute:
• 𝑝 𝑥 = 2𝑥 2 − 3𝑥 + 4 for 𝑥 = 6
• 𝑝′ 𝑥 = 4𝑥 − 3, 𝑝′′ 𝑥 = 4
𝑥 𝑓(𝑥) Δ𝑓(𝑥) Δ2 𝑓(𝑥)
𝑥0 𝑓(𝑥)
4 Δ𝑓(𝑥) Δ2 𝑓(𝑥)
01 43 -1
2 6 3 4
1 3 -1
3 13 7 4
2 4
4 24 11 4 Charles Babbage
5 39 15 4
6 58 19 4
Babbage's Difference Engine
• Designed in 1822 to compute
polynomial functions
• they can approximate any other
functions such as log, sin, cos, etc
within given range
• Method of finite differences is used
• Let’s use this method to compute:
• 𝑝 𝑥 = 2𝑥 2 − 3𝑥 + 4 for 𝑥 = 6
• 𝑝′ 𝑥 = 4𝑥 − 3, 𝑝′′ 𝑥 = 4
𝑥 𝑓(𝑥) Δ𝑓(𝑥) Δ2 𝑓(𝑥)
𝑥0 𝑓(𝑥)
4 Δ𝑓(𝑥) Δ2 𝑓(𝑥)
01 43 -1
2 6 3 4
1 3 -1
3 13 7 4
2 4
4 24 11 4 Charles Babbage
5 39 15 4
6 58 19 4
Same hardware, Different software
Babbage’s Analytical Engine Program for calculating Bernoulli numbers (1843)

Ada Byron-Lovelace
Computers are Universal
• In 1936, Alan Turing introduced an abstract
model of computing called Turing Machine and
demonstrated that it can do any computation
given proper instructions
• Provided the formal definition of algorithm
and computation.
• Influenced both theoretical computer science
and practical computer design.
• During WWII, designed electromechanical
devices (like the Bombe) to break Enigma
codes—showing the practical power of
computational ideas.

Alan Turing
Early Computers and Programmers

Kathleen McNulty, Jean Jennings, Frances Snyder,


Marlyn Wescoff, Frances Bilas, Ruth Lichterman

ENIAC Women
Compilation Pioneered reusable code, subroutines, flowcharts,
pioneers and many other programming innovations
ENIAC weighed 30 tons, filled a room 167 m², and used about
(Mark I) 18,000 vacuum tubes, consumed 150 kilowatts of electricity
and could only perform 5000 additions per second

Grace Hopper Adele Koss


Microprocessors: Age of Transistors
• Starting from 1947, transistors
replaced bulky, power-hungry vacuum
tubes with a smaller, faster, cheaper,
and more reliable alternative.
• Paved the way for integrated circuits
(ICs) in the 1960s. 4-bit Intel 4004 (1971)

• Transistors are the building blocks of


modern chips—billions now fit on a
single microprocessor.

8-bit Motorola 6800 (1974)


Personal Computers
• The first “PC” was named as Micral N
produced by French company R2E in 1973:
– Intel Microprocessor 8008 running 50k
instructions per second at speed 500kHz
– Memory: 8 kB, wordsize: 8-bits
– I/O: toggle switches/lights
– Price: $1,750 (or $12k in today’s money) Micral N from 1973
• The first popular PC was the Apple II
designed by hobbyst Steve Wozniak in
1977
– CPU was MOS 6502 (1 MHz).
– Memory: 4 kB RAM, wordsize: 8-bit
– I/O: keyboard, graphical display, sound
• IBM PC was available in 1981. The CPU
Steve Wozniak
was the Intel 8088 (4.77 MHz).
Apple II from 1977
Operating Systems
• First popular PC Operating System was
CP/M – Control Program for MS-DOS
Microcomputers, written by Gary Kildall in
1973 for the Intel 8080 processor.
• When IBM decided to make IBM PC, they
first asked Gary Kildall to port the CP/M to
the 8088 processor.
– However, he refused
– Later, IBM turned to Microsoft for an OS.
– Microsoft bought QDOS from Seattle
Computers and relabelled it as MS-DOS for
IBM
• In fact, QDOS was hackers’ port of CP/M to
x86 architecture
• Apple developed System 1.0 in 1984

0-36
Open Source Movement
• UNIX operating system has been developed by
Ken Thompson and Dennis Ritchie in 1969,
and its source code was made open to public
with usage restrictions.
• In 1983, Richard Stallman from MIT launched
the GNU project to create a free Unix-like OS.
In 1985, FSF is established.
• Linux (by Linus Torvalds) and the GCC
toolchain (by Stallman) are both from the GNU
project.
• Nowadays, most of the private companies like
Google, Microsoft, Facebook join the open
source movement, and make some of their
work open to public.
Into the Millennia
• World Wide Web: Sir Tim Berners-Lee
– World Wide Web (Sir Timothy John Berners-Lee
created his first web page on Aug 6, 1991 at CERN)
– http://info.cern.ch/hypertext/WWW/TheProject.h
tml is Internet’s first web page.
– Web pages could use hyperlinks to reference each
other, making up so called “web”.
– First web browsers like Mosaic (1993) and
Netscape Navigator (1994) have been created to
render such web pages into readable and
accessible view.
• Search Engines:
– 2 PhD students from Stanford Larry Page and
Sergey Brin founded Google on Sept 4, 1998.
– They developed PageRank algorithm to index
web pages based on their importance.

Sergey Brin and Larry Page


AI Revolution
• Since 2010s, deep learning technologies started
transforming industries by automating tasks once
thought to require human intelligence—like vision,
speech, decision-making, and creativity.
• The revolution is fueled by big data, powerful GPUs,
and better algorithms.
• In 2017, Google researchers introduced new
Transformer architecture which became the
backbone of today’s most AI apps.
• In November 2022, OpenAI adapted GPT-3.5 with
Reinforcement Learning from Human Feedback
(RLHF), making it safe, conversational, and widely
usable.
• Other players emerged such as Anthropic’s Claude,
Google’s Gemini, and open-source model’s such as
Meta’s LLaMA, DeepSeek, Alibaba’s QWen, etc. Ilya Sutskever and Sam Altman,
co-founders of OpenAI
Suggested Activity
• To Enroll: Recommended MOOC • To Read: Know thyself!
– MIT’s Intro to Computer Science and – Teach Yourself Computer Science
Programming using Python • https://teachyourselfcs.com/
• https://learning.edx.org/course/course- – Google’s guide for aspiring computer scientists
v1:MITx+6.00.1x+2T2016
and programmers,
• To Watch: BBC Documentaries • https://www.google.com/about/careers/students/guide
-to-technical-development.html
– Ada Lovelace and early computers
• https://www.youtube.com/watch?v=QgUVrzkQgds – What Computer Scientists Should Know?
• http://matt.might.net/articles/what-cs-majors-should-
– The Secret Rules of Modern Living Algorithms
know
• https://www.youtube.com/watch?v=kiFfp-HAu64

You might also like