Download presentation
Presentation is loading. Please wait.
Published byMabel Fisher Modified over 7 years ago
1
ENGR100 - Introduction to Engineering (for Computer Engineers)
Lecture 1
2
Outline Lectures Introduction to Computer Engineering (First week)
Matlab (Approximately six weeks) Areas of Computer Engineering and Science Data storage & Manipulation Operating Systems Networking & the Internet Algorithms Programming Languages Software Engineering Data Abstraction Database Systems Artificial Intelligence Theory of Computation Labs Robotics: Programming and motion control
3
Grades Homeworks: % Labs: % Midterm: % Final exam: %
4
Book
5
Don’t forget to check it regularly!
Website Contains: Lecture notes (in pdf files) Homeworks and solutions Supplementary material Grades Announcements Don’t forget to check it regularly!
6
It’s a great time to be a software engineer!
7
It’s a great time to be a software engineer!
8
It’s a great time to be a software engineer!
Software engineering is a great and growing profession! The field is young It is innovative and fast-paced Lots of unsolved, complex problems Lots of new solutions every day Lots of opportunities for smart, energetic people to make their mark! This is not just the greatest profession of our time – It’s the greatest profession of all time
9
How important is software?
Very important Many businesses, entire industries, the global economy rely on software Financial institutions, the stock market, … Aerospace, automotive, almost any manufacturing Inventory, supply-chain management e-commerce Government, medicine, other research, .. Reflected in economic indicators Guess Turkey’s Gross National Product ~$200 billion Turkey’s yearly budget ~$70-80 billion Yearly revenue of the software industry ~$150 billion
11
Demand for Computer Engineers will Increase
“ ... These experts play down the two explanations most often offered for flagging enrollment: the dot-com bust and the movement of high-tech jobs offshore. “People think there are no jobs, but that is not true,” said Jan Cuny, a computer scientist at the University of Oregon who directs a National Science Foundation program to broaden participation in computer science. “There are more people involved in computer science now than at the height of the dot-com boom.” And there is widespread misunderstanding about jobs moving abroad, said Ed Lazowska, a computer scientist at the University of Washington. Companies may establish installations overseas to meet local licensing requirements or in hopes of influencing regulations, he said, “but the truth is when companies offshore they are more or less doing it for access to talent.” “Cheap labor is not high on the list,” Dr. Lazowska said. “It is access to talent.” According to the Bureau of Labor Statistics, demand for computer scientists in the United States will only increase in coming years, Dr. Cuny said. ...”
12
Computer Engineering ≠ Programming
... “The nerd factor is huge,” Dr. Cuny said. According to a 2005 report by the National Center for Women and Information Technology, an academic-industry collaborative formed to address the issue, when high school girls think of computer scientists they think of geeks, pocket protectors, isolated cubicles and a lifetime of staring into a screen writing computer code. This image discourages members of both sexes, but the problem seems to be more prevalent among women. “They think of it as programming,” Dr. Cuny said. “They don’t think of it as revolutionizing the way we are going to do medicine or create synthetic molecules or study our impact on the climate of the earth.”
13
Computer Engineering = Solving World’s Problems Using Computation
Like others in the field, Dr. Cuny speaks almost lyrically about the intellectual challenge of applying the study of cognition and the tools of computation to medicine, ecology, law, chemistry — virtually any kind of human endeavor. “The use of computers in modern life is totally ubiquitous,” said Barbara G. Ryder, a professor of computer science at Rutgers University. “So there are niches all over for people who understand what the technology can do and also for people who want to advance the technology. “But students don’t see that,” Dr. Ryder said. “And it seems to be happening more with the women than with the men.”
16
Engineering & Technology
The English word "Engineer" has the Latin root "Ingeniatorem " which means "expert in planning.” The Turkish word for engineer is "Mühendis“ whose root is the Arabic word "Hendese " which means calculation. Accordingly, "Mühendis" is the person who does calculations! The word "Technology" has the Greek roots "Techne“ (which means skill or craft) and "logia" (which means investigation and science).
17
What is Engineering? We can describe Engineering as the process which is typically composed of the following steps aiming to develop a product: Analysis Computation Design Optimization Verification
18
Engineering vs. Science
A nice example of early engineering outputs is the "Bent Pyramid" in ancient Egypt. It has the initial angle of 55 degrees at the bottom but at one point towards the top the angle changes to 43 degrees. The reason: The timeline for the change in angle aligns with the collapse of another pyramid with an angle of 55 degrees. Design by Trial & Error!
19
Modern Engineering Especially after the 15th century, scientists began to analyze existing engineering products: why and how do they work? The methodology of the improved science, which is the controlled experiments supported by the mathematical induction, transformed the art of engineering to the science of engineering. Engineers started to use a systematic approach in designing their products where they also started to use the knowledge about the laws of nature acquired by scientific studies. This was the start of a new era: "Modern Engineering". Computer Engineering is considered as a branch of Modern Engineering.
20
Computer Engineering Computer Engineering encompasses:
hardware software digital communication A computer engineer applies the basic principles of engineering & computer science to the design of: computers networks peripheral devices software systems A computer engineer has the responsibility of designing and building the interconnections between computers and their components
21
Computer Science Computer scientists:
are traditionally more mathematically oriented than computer engineers have become involved in writing computer software over the past decade Unlike the computer scientist, however, the computer engineer is expected to be fluent in both hardware and software aspects of modern computer systems
22
Computer Engineering in the Market
sold for $4B last year $110B, est. 1998 $47B, est. 1995 $114B, est. 1984 $64B, est. 1977 $290B, established 1975 Note: Turkey’s GNP is about $300B
23
By September 2002 The Internet Reached Two Important Milestones:
> 200,000,000 IP Hosts > 840,000,000 Users Netsizer.com – from Telcordia
24
Internet has been growning exponentially!
25
Some Rules from Bill Gates
Rule 1: Life is not fair - - get used to it! Rule 2: The world won't care about your self-esteem. The world will expect you to accomplish something BEFORE you feel good about yourself. Rule 3: You will NOT make $60,000 a year right out of high school. You won't be a vice-president with a car phone until you earn both. Rule 4: If you think your teacher is tough, wait till you get a boss. Rule 5: Flipping burgers is not beneath your dignity. Your Grandparents had a different word for burger flipping -- they called it opportunity. Rule 6: If you mess up, it's not your parents' fault, so don't whine about your mistakes, learn from them.
26
Some Rules from Bill Gates (cont.)
Rule 7: Before you were born, your parents weren't as boring as they are now. They got that way from paying your bills, cleaning your clothes and listening to you talk about how cool you thought you are. So before you save the rain forest from the parasites of your parent's generation, try delousing the closet in your own room. Rule 8: Your school may have done away with winners and losers, but life HAS NOT. In some schools they have abolished failing grades and they'll give you as MANY TIMES as you want to get the right answer. This doesn't bear the slightest resemblance to ANYTHING in real life.
27
Some Rules from Bill Gates (cont.)
Rule 9: Life is not divided into semesters. You don't get summers off and very few employers are interested in helping you FIND YOURSELF. Do that on your own time. Rule 10: Television is NOT real life. In real life people actually have to leave the coffee shop and go to jobs. Rule 11: Be nice to nerds. Chances are you'll end up working for one. from BILL GATES' SPEECH TO MT. WHITNEY HIGH SCHOOL in Visalia, California.
28
Key historical developments in computers
The zeroth generation: Mechanical Computers ( ) Curta Handheld Babbage Machine
29
Key historical developments in computers
The zeroth generation: Mechanical Computers ( ) The first generation: Vacuum Tubes ( ) ENIAC Designed by Eckert and Mauchly in 1946. Was the primary computing engine of US Army between 27m x 1m x 3m 18,000 tubes 1900 additions per sec. (current supercomputers can do hundreds of Tflops and desktops a few Gflops!)
30
Another first generation computer
31
Key historical developments in computers
The zeroth generation: Mechanical Computers ( ) The firsth generation: Vacuum Tubes ( ) The second generation: Transistors ( ) IBM System 360, after $5B investment 1.6 MHz, kB, $225K 2 MHz, kB, $550K 5 MHz, 256 kB - 1 MB, $1,200K 5.1 MHz, 256 kB - 1 MB, $1,900K
32
Home Computer
33
Key historical developments in computers
The zeroth generation: Mechanical Computers ( ) The firsth generation: Vacuum Tubes ( ) The second generation: Transistors ( ) The third generation: Integrated Circuits ( ) Apple II europlus (1978)
34
Key historical developments in computers
The zeroth generation: Mechanical Computers ( ) The firsth generation: Vacuum Tubes ( ) The second generation: Transistors ( ) The third generation: Integrated Circuits ( ) The fourth generation: VLSI (Very Large Scale Integration) ( ?) The fifth generation - ? (Biologic, Quantum, ???)
35
Some milestones in the development of modern digital computer
36
Moore’s Law Overall, processor performance doubled every 18 months during 1982 – 1996 time period. This growth apllied to the automative industry, would have resulted in cars reaching speeds above 70,000 km/h at a fuel consumption rate below 7,000 km/lt! “Unmatched by any other industry,” by John Crawford memory sizes, in bits Moore’s law predicts a 60% annual increase in the number of transistors that can be put on a chip.
37
The current spectrum of computers
38
And, finally In 2000, Koç University Engineering Faculty was established.
39
Computer Engineering Courses in KU (1st year)
Comp Structure and Interpretation of Computer Programs An introduction to core software engineering concepts focusing on the control of complexity in large programming systems Building abstractions with procedures and data Modularity, objects and state Machine models, compilers and interpreters Substantial weekly programming assignments are an integral part of the course! Comp Introduction to Programming Object-oriented programming using the Java programming language Compiling and executing Java applications and applets Control Statements Methods Arrays Abstract Data Types, Classes, Objects Inheritance and Type Hierarchies Polymorphism Strings and Characters Iteration Packages Access and Visibility Control Exceptions Files and Streams Selected standard packages, utilities Collections Introduction to Graphical User Interfaces
40
Computer Engineering Courses in KU (2nd year)
Comp 201 Discrete Computational Structures Basic concepts of logic, propositional logic, set theory, functions, sequences, counting, relations Algorithms and their complexity analysis Applications of number theory Mathematical reasoning, induction and recursion Graph theory, shortest path problems, trees, sorting and searching algorithms Application of these concepts to various areas of engineering. Comp 242 Advanced Programming Advanced programming techniques using C and C++ Introduction to the C and C++ languages Functions, Arrays and pointers C++ classes Dynamic storage allocation, memory management Operator overloading Inheritance Virtual functions and polymorphism C++ Stream Input/Output Templates Exception Handling. File processing. Bits, characters, strings and structures Standard Template Library
41
Computer Engineering Courses in KU (2nd year)
Comp 202 Algorithms and Data Structures Construction of algorithms and their complexity analysis Data types; lists, stacks and queues Tree-searching and basic graph algorithms Sorting and searching Hashing. Elec 204 Digital Systems Design Computer technology, digital hardware Boolean algebra, logic functions and gates Canonical forms, simplification of boolean functions, Karnaugh maps Number systems, conversions, complement arithmetic, adders, multiplexer Tri-state outputs, decoders, encoders Sequential logic, flip-flops, sequential circuit analysis, sequential circuit design Registers and counters Memory and programmable logic Central Processing Unit A design project
42
Computer Engineering Courses in KU (3rd year)
Comp 301 Programming Language Concepts Programming languages (i.e. C++, Java, Ada, Lisp, ML, Prolog), concepts and paradigms. Syntax, semantics. Abstraction, encapsulation, type systems, binding, run-time storage, sequencers, concurrency, control. Providing examples from functional, object-oriented and logic programming paradigms. Comp 303 Computer Architecture Hardware organization of computers. Computer components and their functions. Instruction sets, formats, addressing modes and pipelining. Interrupt handling, assembly and machine language. Data paths and microprogrammed control. Computer arithmetic. Memory systems and input-output organization. Comp 302 Software Engineering Review of methods and tools used in software development. Object oriented design and open software architectures. Requirements analysis, design, implementation, testing, maintenance and management. Engineering applications. Comp 304 Operating Systems Introduction to operating systems concepts, process management, memory management, virtual memory, input-output and device management, file management and file systems, job scheduling, deadlocks, interrupt structures, case studies of operating systems. Comp 306 Database Management Systems Introduction to database management systems, file structure, organization and processing, sequential files, direct files, sort/merge, indexed and hash files, relational data model, logical database design, entity-relationship data model, data description and query languages.
43
Computer Engineering Courses (4th Year - many area electives)
Senior Engineering Design Microprocessors Computer Networks Computer Graphics Artificial Intelligence Machine Learning Algorithms and Computational Complexity Software Methodologies Computer Vision & Pattern Recognition Parallel Computing Distributed Computing Internet Technologies Speech Processing Bioinformatics and Algorithms in Computational Biology Digital Speech and Audio Processing Digital Image and Video Processing …
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.