CSE 203G: Introduction To C: Lecture - 1
CSE 203G: Introduction To C: Lecture - 1
Lecture – 1
https://cdn-images-1.medium.com/max/800/1*1G-6zH8XnZE8TjV5vsPDOg.jpeg
Outline
• Motivations
• Course Information
• Basic concepts
Course information
• Text book:
• Programming with C (Second Edition) By Byron Gottfried. Schaum’s Outlines
Series
• Head First C, By David Griffiths & Dawn Griffiths. O’ Reilly
Course syllabus
• Introductory concepts on programming languages
• C Fundamentals
• C Operators and Expressions
• Control statements
• Functions
• Arrays
• Pointers, Structures and Files
Outline
• Motivations
• Course Information
• Basic concepts
Computer
• Computer is a machine that can perform computation
1. Input : User gives a set of Input
2. Processing : Input data is processed by a well defined and finite
sequence of steps
3. Output: Some data available from processing step and output to the
user
A Barebone Computer
Input Central
Output
Peripherals Processing
Peripherals
Unit (CPU)
Main
Memory
Storage
Peripherals
I/O & Peripherals
• Input Devices
• Keyboard, Mouse, Digital Camera
• Output Devices
• Monitor, Printer, Speaker
• Storage Peripherals
• Magnetic Disks: hard disk
• Optical Disks: CDROM, CD-RW, DVD
• Flash Memory: pen drives
Computer
• All digital computers, regardless of their size, are basically electronic
devices that can transmit, store, and manipulate information (i.e., data)
• Several different types of data can be processed by a computer including:
• numeric data, character data (names, addresses, etc.), graphic data (charts,
drawings, photographs, etc.), and sound (music, speech patterns, etc.)
• The two most common types, from the standpoint of a beginning
programmer, are numeric data and character data
• Scientific and technical applications are concerned primarily with numeric
data
• Business applications usually require processing of both numeric and
character data
Computer types
• Mainframe computers
• Supercomputers
• Personal computers
• Mobile computers
Computer types
IBM mainframe computers
• Mainframe computer:
• “Mainframe computers or mainframes
(colloquially referred to as "big iron") are
computers used primarily by large organizations
for critical applications; bulk data processing, such
as census, industry and consumer statistics,
enterprise resource planning; and transaction https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/IBM_z13_and_LinuxO
• Supercomputers:
• A particular type of mainframe computer with
more computational capability
• IBM Blue Gene has 164,000 processor cores!!
Computer types
• Personal computers:
• Have moderate computational capabilities with around 8 core facilities
• Mobile computers:
• Quite powerful nowadays
• My first PC in 1998 had a single-core Intel processor with 64MB RAM and 20
GB HDD
• Quite powerful at that time
• SAMSUNG Galaxy S10 has 2 octa-core processors with 8GB RAM and 128 GB
ROM
What a computer does
• Solve Types of Problems
1. Functional Problem (Matrix Inverse)
2. Decision Problem (Primality test)
3. Search Problem
4. Optimization problem
What a computer does
• Determining if a given integer is a prime number
• Root finding
• Read in airline route information as a matrix and determine the shortest time
journey between two airports
• Telephone pole placement problem
• Matrix multiplication
• Finger-print recognition
• Chess Player
• Speech Recognition
• Language Recognition
• Discovering New Laws in Mathematics
• Automatic drug discovery
• …..
Practical view of a computer
• To process a particular set of data, the computer must be given an
appropriate set of instructions called a program
• These instructions are entered into the computer and then stored in a
portion of the computer’s memory
• A stored program can be executed at any time. This causes the following
things to happen:
• A set of information, called the input data, will be entered into the computer (from
the keyboard, a floppy disk, etc.) and stored in a portion of the computer’s memory
• The input data will be processed to produce certain desired results, known as the
output data
• The output data, and perhaps some of the input data, will be printed onto a sheet of
paper or displayed on a monitor (a television receiver specially designed to display
computer output)
Practical view of a computer
• Computer needs to be programmed to do such tasks
• Programming is the process of writing instructions in a language that
can be understood by the computer so that a desired task can be
performed by it
• Program: sequence of instructions to do a task, computer processes
the instructions sequentially one after the other
• Software: programs for doing tasks on computers
The lecture slides can be found in the following location!