Click to add title
Download
Report
Transcript Click to add title
CS135602 Introduction to
Information Engineering
Instructor: Shun-Ren Yang
Office: A608
Email: [email protected]
Office Hour: Tuesday morning 10:00-12:00
Course slides are adapted from slides provided by Addison-Wesley Computing
People
Instructor: Shun-Ren Yang
Office: A608
Tel: ext. 31212
Email: [email protected]
Office hours:
Tuesday morning 10:00-12:00
Appointment via Email
TAs:
陳怡貝
張正廷
張晛承
陳俞文
王昱傑
Email: [email protected]
Email: [email protected]
Email: [email protected]
Email: [email protected]
Email: [email protected]
Office: 台達館 705R
Phone: ext. 80919
Office Hours: to be determined
Shun-Ren Yang, Introduction to Information Engineering
2
Course Objectives
This course introduces the fundamentals of computer
science. The covered topics are:
Data Storage
Data Manipulation (program execution, communicating with other
devices, etc.)
Operating Systems (Microsoft OS, UNIX-like OS)
Networking and the Internet
Algorithms
Programming Languages (not to learn a particular language)
Software Engineering
Data Abstractions (data structures, object-oriented programming)
Database Systems
Computer Graphics
Artificial Intelligence
Theory of Computation
Provide a broad picture of the different aspects of computer
science in the real world
Shun-Ren Yang, Introduction to Information Engineering
3
General Information
Lectures:
Monday 10:10AM-12:00AM, Wednesday 9:00AM-9:50AM
The course web page is located
http://wmnet.cs.nthu.edu.tw/Course/IIE_2012/
The course discussion group: to be announced
Exams
Quiz
Three closed-book exams, 1st: 10/22, 2nd: 12/3, 3rd: 1/14
Grading
Homework:0% - 作業會勾選但不用交;
Quiz: 20% - 每週一小考, 每次約考10分鐘;
First Exam: 20% ;
Second Exam: 20%;
Final Exam: 20%;
Final Report: 10%
Participation: 10%
期末不會調分
Shun-Ren Yang, Introduction to Information Engineering
4
Reading Materials
Text Book:
J.Glenn Brookshear "Computer Science - AN OVERVIEW" ,
ELEVENTH edition, Addison-Wesley
Additional Reading:
Check class website regularly
Handouts:
Will be available at least one day before the class
Shun-Ren Yang, Introduction to Information Engineering
5
Course Academic Integrity Policy
You are not allowed:
Copying all or part of someone else's work
Giving another student in the class a copy of your work
Consulting with others during an exam
Students who violate this policy
In the quizzes: no credit
In the exams: final score will be ZERO
Shun-Ren Yang, Introduction to Information Engineering
6
Computer History
Shun-Ren Yang, Introduction to Information Engineering
7
Origins of Computing Machines
Early computing devices
Abacus: positions of beads represent numbers
Gear-based machines (1600s-1800s)
Positions of gears represent numbers
Blaise Pascal, Wilhelm Leibniz, Charles Babbage
http://www.computersciencelab.com/ComputerHistory/History.htm
Shun-Ren Yang, Introduction to Information Engineering
8
Origins of Computing Machines (Contd.)
Early data storage: punched cards
First used in Jacquard Loom (1801) to store patterns for weaving
cloth
Stored programs in Babbage’s Analytical Engine
Popular through the 1970’s
Shun-Ren Yang, Introduction to Information Engineering
9
Early Computers
Based on mechanical relays
1940: Stibitz at Bell Laboratories
1944: Mark I: Howard Aiken and IBM at Harvard
mechanical relay memory
Harvard Mark I
Shun-Ren Yang, Introduction to Information Engineering
10
Early Computers (Contd.)
Based on vacuum tubes
1937-1941: Atanasoff-Berry at Iowa State College
1940s: Colossus: secret German code-breaker
1940s: ENIAC: Mauchly & Eckert at U. of Penn.
The Atanasoff-Berry Computer
Colossus
ENIAC: Electronic Numerical Integrator and Calculator
Shun-Ren Yang, Introduction to Information Engineering
11
Personal Computers
First used by hobbyists
1981: IBM introduces the PC
Accepted by business
Became the standard hardware design for most desktop computers
Most PCs use software from Microsoft
Shun-Ren Yang, Introduction to Information Engineering
12
Introduction to Computer Science
Shun-Ren Yang, Introduction to Information Engineering
13
What is Computer Science
Draws from other subjects, including
Mathematics
Engineering
Psychology
Business Administration
linguistics
The science of algorithms
Shun-Ren Yang, Introduction to Information Engineering
14
Algorithms
Algorithm: a set of steps defining how a task is performed
You can consider it as a recipe
Eg.:
1 1/3-cups chocolate cookie crumbs
1/3-cup butter, melted
1-cup milk
1-egg
1/4-cup granulated sugar
2-tbsp cornstarch
3-tbsp orange juice
5-squares white chocolate or 5 oz (150 g)
1-pkg (8 oz/250 g) cream cheese, diced
1-tsp grated orange peel
3/4-cup chopped fresh or frozen strawberries
(drain if frozen)
Shun-Ren Yang, Introduction to Information Engineering
15
Algorithms (Contd.)
Line a pie plate with plastic wrap
Lightly oil the plastic wrap to prevent sticking
In a small bowl, mix crumbs with melted butter
Press crumb mixture into the pie plate and up the sides to form a crust
In a small saucepan, whisk together milk, egg and sugar
In a small bowl, blend together cornstarch and orange juice
Stir into Milk mixture
Until a thick custard forms
Cook, stirring, over medium-high heat
Remove from heat
Break white chocolate into chunks and add to milk mixture
Until melted and smooth
stirring
Transfer to a mixing bowl, until completely smooth
beat in cream cheese,
Stir in orange peel and strawberries and spoon into prepared crust
If (frozen time < 1 1/2 hours) AND (the tart is firm)
Put tar in the frozen section
To serve, lift frozen tart from pie plate, remove plastic wrap
let stand at room temperature for 20 minutes
If desired
Serve with additional fresh berries
Shun-Ren Yang, Introduction to Information Engineering
16
Algorithms: Definitions
Algorithm = a set of steps that defines how a
task is performed
Program = a representation of an algorithm
Programming = the process of developing a
program
Software = programs + algorithms
Hardware = machinery: whatever isn’t software
Shun-Ren Yang, Introduction to Information Engineering
17
History of Algorithms
The study of algorithms was originally a subject
in mathematics.
Algorithms were studied before computers existed.
Early examples of algorithms
Long division algorithm
Euclidean Algorithm
Gödel's Incompleteness Theorem: some
problems cannot be solved by algorithms
Completeness - Can a system solve all problems that
can be posed of it, or, in particular, can it be used to
reason about all properties of its own members?
Shun-Ren Yang, Introduction to Information Engineering
18
Central Questions of Computer Science
Which problems can be solved by algorithmic
processes?
How can discovery of algorithms be made easier?
How can techniques of representing and
communicating algorithms be improved?
How can our knowledge of algorithms and
technology be applied to provide better
machines?
How can characteristics of different algorithms
be analyzed and compared?
Shun-Ren Yang, Introduction to Information Engineering
19
The central role of algorithms in computer science
Shun-Ren Yang, Introduction to Information Engineering
20
Use Of Abstraction
Computer scientists can use algorithms
implemented by others without understanding
their details
Abstraction = the distinction between the external
properties of an entity and the details of the entity’s
internal composition.
Abstract tool = a component of a larger system
whose internal composition we ignore
Abstraction allows us to use things we don’t fully
understand
Shun-Ren Yang, Introduction to Information Engineering
21
Outline of our study
Design and construction of computing machines
Data storage (C1)
Data manipulation (C2)
Operating systems (C3)
Algorithms (C5)
Programming languages (C6)
Data abstractions (C8)
Networks and the internet (C4)
Software engineering (C7)
Database systems (C9)
Computer Graphics (C10)
Artificial intelligence (C11)
Theory of computation (C12)
Shun-Ren Yang, Introduction to Information Engineering
22