Software engineering: A Tornado Visit

0
0
1563 days ago, 488 views
PowerPoint PPT Presentation
Google Earth - How would you

Presentation Transcript

Slide 1

´╗┐Software engineering: A Whirlwind Tour Jacob Whitehill ( jake@mplab.ucsd.edu ) Machine Perception Laboratory, http://mplab.ucsd.edu UCSD

Slide 2

Goals of This Talk Introduce you to the investigation of PCs & calculation. Give a super-quick voyage through different sub-regions of software engineering. Enlighten you a touch of regarding our lab's exploration. Demonstrate a few demos.

Slide 3

Finding the science in Computer Science

Slide 4

Computer Science: Misconceptions Computer science is identified with, however particular from, the accompanying fields: Information Technology (IT). PC & arrange administration Computer programming

Slide 5

Computer Science: Misconceptions Information Technology (IT): The study, improvement, and administration of data frameworks - PC & programming frameworks that oversee a lot of data. Case: plan a proficient database for Verizon to handle charging data for 100 million clients.

Slide 6

Computer Science: Misconceptions Computer & arrange administration - set up and keep up PCs & PC systems Example: make sense of why the Internet is not open from a specific school classroom, and alter the issue.

Slide 7

Computer Science: Misconceptions Computer programming - make programming for a PC to execute to play out a helpful assignment. Illustration: compose programming to naturally download music by your most loved craftsman on iTunes.

Slide 8

My meaning of Computer Science My definition: the advancement of new procedures utilizing PCs & calculation to take care of issues that were essentially not reasonable before . Appear differently in relation to IT : there are no crucial difficulties in setting up a charging framework for Verizon that have not yet been comprehended - unmistakably it's achievable. Appear differently in relation to programming : however writing computer programs is in no way, shape or form unimportant, it is generally clear at the onset that the program can be composed.

Slide 9

My meaning of Computer Science Computer programming speaks to the methods by which (experimental) software engineering exploration is directed. Comparable to directing an examine, utilizing a magnifying instrument, recoloring DNA, and so forth

Slide 10

Computer Science Computer science is (generally) a building science : We have an assignment we'd jump at the chance to achieve. We don't know whether it's resolvable, not to mention how to settle it. We (attempt to ) find computational techniques to finish our errand.

Slide 11

Computer Science Contrast with the normal sciences (e.g., science, science, material science, arithmetic): We are occupied with finding how the world functions, without fundamentally achieving a solid assignment.

Slide 12

Sample of Various Computer Science Research Problems

Slide 13

Computer Vision Google Earth - How would you "fasten together" satellite photos taken over the Earth into a safe 3-D "world" (Google Earth)?

Slide 14

Graphics Pixar - How would you quicken a graphical video character (e.g., Shrek) with the goal that it looks alive?

Slide 15

Cryptography and Security How would you scramble a message so that exclusive the "proposed people" can read it and meddlers can't? How would you keep individuals from duplicating motion pictures & music wrongfully?

Slide 16

Networking How would you be able to transmit information dependably and at fast utilizing common electrical cable links? (this is essential in creating nations without phone framework)

Slide 17

Machine Learning Can PCs figure out how to perceive similar sorts of examples in nature that people can? Case: where are the countenances in the video?

Slide 18

Bioinformatics and Computational Biology How would we be able to dissect human DNA successions to decide the hazard variables of specific illnesses?

Slide 19

Complexity Theory How would we be able to utilize quantum PCs to take care of numerical issues more rapidly than with customary machines?

Slide 20

Computer Science: Sub-ranges (numerous) These are every one of the ones I can consider spur of the moment: Graphics Vision Machine learning Databases Compilers Networking Operating frameworks Distributed frameworks Software designing Robotics Numerical figuring Human-PC collaboration Graphics Computer engineering Security Cryptography Algorithms Image & video handling Bioinformatics Complexity hypothesis Computational geometry By the way - some of these territories additionally fit into Electrical Engineering (EE). Some of these are generally experimental , some are for the most part hypothetical , and some are both .

Slide 21

Theoretical versus Observational Research Theoretical research - utilize science/coherent thinking to demonstrate what you are stating is unquestionably valid. Exact research - investigate through perception - run numerous trials to demonstrate that what you are stating is most likely genuine.

Slide 22

Theoretical versus Observational Research Example: Theoretical confirmation that a specific clubhouse betting procedure will give you the most astounding conceivable rewards. Show over numerous investigations that a specific technique works superior to others. Imperative: It's not generally simple/conceivable to demonstrate something numerically.

Slide 23

Algorithms - the establishment of software engineering

Slide 24

Algorithms The thought of calculation is central to all of software engineering. A calculation is a well ordered strategy ("formula") for how to finish a specific errand. PCs can perform errands rapidly, yet they require an exceptionally exact portrayal of what to do.

Slide 25

Algorithms Example: INPUT: flour, eggs, drain, margarine, heating powder, salt, chocolate chips PROCEDURE: Beat eggs. Include every other fixing. Blend everything until smooth. Drop in 5" hovers on hot griddle. Broil on both sides until chestnut.

Slide 26

Algorithms Example (proceeded with): OUTPUT: chocolate chip flapjacks

Slide 27

Algorithms More fascinating calculations: If you write an expression into Google, what is the quickest method for discovering the greater part of the pages (in general Internet!) that contain that expression? How would you consequently discover the appearances in an advanced video? How would you vitalize Shrek's mouth to match his discourse?

Slide 28

Algorithms Algorithm depictions are ordinarily composed in a PC programming dialect (e.g., C, Java, Python). (This is the place programming comes in.) Algorithm portrayals are called code . They are then changed over (by a compiler or mediator) into machine dialect (the PC's local dialect, written in 0's and 1's).

Slide 29

Algorithms Example: numbering from 1 to 100. Technique (in English): Start with the number 1. Print the number. Add 1 to the number. Do a reversal to Step (2) until we've achieved 100.

Slide 30

Algorithms Example: numbering from 1 to 100. Method (in C, a programming dialect): int number = 1; while (number <= 100) { printf("%d\n", number); number += 1; }

Slide 31

Algorithms Example: checking from 1 to 100. Strategy (in PowerPC G5 machine dialect, parallel): 111111101110110111111010110011100000000000000000000000000001001000000000000000000000000000001010000000000000000000000000000000100000000000000000000000000000101000000000000000000000010000010100000000000000000000000000100001010000000000000000000000000000000100000000000000000000000000111000010111110101111101010000010000010100011101000101010110100100010101010010010011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000 ...

Slide 32

Algorithms Several sub-territories of software engineering study the art of calculations: Algorithm plan Come up with new major calculations. Many-sided quality & processability hypothesis Study the sorts of calculations that can be composed, and how quick they are.

Slide 33

Computability Theory There are a few assignments which are essentially difficult to comprehend. A standout amongst the most acclaimed is the "ending issue". It is conceivable to compose a program that never closes. Consider: Print out "hi". Do a reversal to step 1.

Slide 34

The "Stopping Problem" It would be valuable to know whether a specific PC program will ever wrap up. What we might want is the accompanying: INPUT: any PC program. Yield: either Yes or No as per whether the predefined PC program will (in the long run) arrive at an end.

Slide 35

The "Stopping Problem" It is provably difficult to make such a calculation. Consequently, no such calculation can ever be made, regardless of how advanced PCs ever gotten to be. This examination result originates from the field of processability hypothesis . Figuring out if any PC program will end is incomputable .

Slide 36

Complexity Theory Some software engineering errands, regardless of the possibility that there exists calculations to unravel them, may take restrictively long to complete - for example, a google-google-google years (this is quite a while). Different calculations may complete their work in under a moment. Which assignments can be fathomed rapidly, and which take additional time? The measure of time that a calculation takes to complete is known as the unpredictability of that calculation.

Slide 37

Two Algorithms - Which takes more time to wrap up? "Stable Marriage": How would we be able to combine n men with n ladies so that separations their companion for another person? "Diagram 3-Coloring": How would we be able to shading the circles in a chart so that associated circles have diverse hues?

Slide 38

Stable Marriage Algorithm Suppose we have 10 men and 10 ladies who wish to wed each other (hetero). Every individual positions each of the 10 people of the inverse sexual orientation all together of inclination. We need to combine individuals so that nobody will separate their present mate to wed another person . Appear on board.

Slide 39

Graph 3-Coloring A "diagram" has circles and lines. A few circles are associated with others by lines. On the off chance that two circles are interface

SPONSORS