computer science and software engineering orientation · 2020-06-22 · real time and embedded...
TRANSCRIPT
Computer Science and Software Engineering
Orientation
Apple Workshop (Spring 2018)
Yanqiao ZHU [email protected] affiliation with Tongji Apple ClubSchool of Software Engineering, Tongji University
Outline
◼ Introduction to Major CS Disciplines• CS Overview
• A Special Emphasis on AI
• The Application of CS in Interdisciplinary
◼ Guide to Career Paths
May 5, 2018 CS & SE Orientation – Apple Workshop 2
View Online https://course.sxkdz.org/appleworkshop/csseorientation.pdf
Outline
◼ Introduction to Major CS Disciplines• CS Overview
• A Special Emphasis on AI
• The Application of CS in Interdisciplinary
◼ Guide to Career Paths
May 5, 2018 CS & SE Orientation – Apple Workshop 3
Top 10 Best Jobs Worldwide
Job Title Median Salary
Data Scientist $110,000
DevOps Engineer $110,000
Data Engineer $106,000
Tax Manager $110,000
Analytics Manager $112,000
HR Manager $85,000
Database Administrator $93,000
Strategy Manager $130,000
UX Designer $92,500
Solutions Architect $125,000
May 5, 2018 CS & SE Orientation – Apple Workshop 4
Source: Forbes The 10 Best Jobs To Apply For In 2017
Theoretical Disciplines in Computer Science
Computer Science
Theoretical Computing
Information and Coding Theory
Algorithm and Data Structure
Formal Methods
Programming Language
May 5, 2018 CS & SE Orientation – Apple Workshop 5
Applied Computer Science
Computer Architecture
Computer Performance
Analysis
Concurrent, Parallel and Distributed
SystemReal Time and
Embedded SystemOperating System
NetworkingScientific
CalculatingSecurity and
CryptographicArtificial
Intelligence
Computer Graphics and Vision, Multimedia
Database and Large Scale Data Processing
World Wide WebNatural Language
Processing and Speech
Human Computer Interaction
Software Engineering
May 5, 2018 CS & SE Orientation – Apple Workshop 6
Source: Wikipedia and Microsoft Academic Search
Different Focuses of CS and SE
Computer Science (CS) Software Engineering (SE)
Long-term Short-term
Idealism Compromise
Certainty Uncertainty and risk
Perfection Adequacy
Generality Specificity
Separation Amalgamation
Unification Diversity
Originality Best practice
Formality Intuition
Correctness Dependability
May 5, 2018 CS & SE Orientation – Apple Workshop 7
Source: The Science of Computing and the Engineering of Software by Tony Hoare
Different Focuses of CS and SE (cont.)
◼ Advances in computer theory will help software engineering (e.g., analysis of program correctness).
◼ Advances in software engineering (better tools, more application areas) will help computer scientists do more experiments and explorations.
◼ The philosophy of the philosopher is: I think so I am.
◼ The purpose of scientists is: I found that I am.
◼ The purpose of the engineer is: I build so I am.
◼ In summary, Computer Science is not equal to Software Engineering.
May 5, 2018 CS & SE Orientation – Apple Workshop 8
Outline
◼ Introduction to Major CS Disciplines• CS Overview
• A Special Emphasis on AI
• The Application of CS in Interdisciplinary
◼ Guide to Career Paths
May 5, 2018 CS & SE Orientation – Apple Workshop 9
What is Artificial Intelligence (AI)?
Systems that think like humans. Systems that think rationally.
o “The exciting new effort to make computers think ... machines with minds, in the full and literal sense” (Haugeland, 1985)
o “The automation of activities that we associate with human thinking, activities such as decision-making, problem solving, learning…” (Bellman, 1978)
o “The study of mental faculties through the use of computational models” (Charniak and McDermott, 1985)
o “The study of the computations that make it possible to perceive, reason, and act” (Winston, 1992)
Systems that act like humans. Systems that act rationally.
o “The art of creating machines that perform functions that require intelligence when performed by people” (Kurzweil, 1990)
o “The study of how to make computers do things at which, at the moment, people are better” (Rich and Knight, 1991)
o “A field of study that seeks to explain and emulate intelligent behavior in terms of computational processes” (Schalkoff, 1990)
o “The branch of computer science that is concerned with the automation of intelligent behavior” (Luger and Stubblefield, 1993)
May 5, 2018 CS & SE Orientation – Apple Workshop 10
Source: http://people.eecs.berkeley.edu/~russell/intro.html
The Future is Here: Artificial Intelligence
◼ Artificial General Intelligence
◼ Applied Artificial Intelligence
May 5, 2018 CS & SE Orientation – Apple Workshop 11
≠
Artificial Intelligence = Intelligence-Inspired Computing
The Rise of Artificial Intelligence
◼ Modern artificial intelligence is generally thought to originate from a summer discussion in the United States in 1956 (Dartmouth Conference).
◼ John McCarthy decided to organize a group to clarify and develop ideas about thinking machines. He picked the name “Artificial Intelligence” for the new field.
May 5, 2018 CS & SE Orientation – Apple Workshop 12
The Turing Test
◼ The Turing Test, proposed by Alan Turing, was designed to provide a satisfactory operational definition of intelligence.
◼ The computer would need to possess the following capabilities:• Natural language processing
• Knowledge representation
• Automated reasoning
• Machine learning
◼ Within AI, there has not been a big effort to try to passthe Turing test.
May 5, 2018 CS & SE Orientation – Apple Workshop 13
AI History Retrospection
◼ 40 50•
• M-P
• XOR
◼ 50 60• Logic Reasoning
• GPS
•
May 5, 2018 CS & SE Orientation – Apple Workshop 14
AI History Retrospection (cont.)
◼ 60 80 Knowledge Engineering ( )
•
•
•
•
•
• ALVEY
• UNIKA
•
• 863
•
May 5, 2018 CS & SE Orientation – Apple Workshop 15
AI History Retrospection (cont.)
◼ 80 90• BP
• Hopfield
•
•
•
•
•
May 5, 2018 CS & SE Orientation – Apple Workshop 16
AI History Retrospection (cont.)
◼ 90 2006•
•
•
• AI•
•
•
• AI
May 5, 2018 CS & SE Orientation – Apple Workshop 17
AI History Retrospection (cont.)
◼ 2006~• Big Data
• Deep Learning • 2006 Hinton
• 2011
• 2012 ImageNet
• 2016 AlphaGo
• 2016
• 2017
May 5, 2018 CS & SE Orientation – Apple Workshop 18
The State-of-the-Art of AI in 2018
◼ GANs and FakesNew research from Nvidia uses artificial intelligence to generatehigh-res fake celebs.
◼ AI-Assisted Fake PornSomeone used an algorithm to paste the face of Wonder Woman star Gal Gadot onto a porn video, and the implications are terrifying.
◼ AutoML Replacing PipelinesGoogle introduced the AutoML project, an approach that automates the design of machine learning models.
May 5, 2018 CS & SE Orientation – Apple Workshop 19
The State-of-the-Art of AI in 2018 (cont.)
◼ Voice Recognition and GenerationBaidu’s DeepVoice3 and Google’s Tacotron2 will enable every to recognize voice and generate it with very high accuracy.
◼ Unique Format for All Neural NetsONNX is a community project created by Facebook and Microsoft for greater interoperability in the AI tools community.
◼ Multitask/Multimodal LearningGoogle presented MultiModel, a neural network architecture that draws from the success of vision, language and audio networks to simultaneously solve a number of problems spanning multiple domains, including image recognition, translation and speech recognition.
May 5, 2018 CS & SE Orientation – Apple Workshop 20
Source:• https://medium.com/swlh/ai-in-2018-for-developers-2f01250d17c• https://blog.goodaudience.com/ai-in-2018-for-researchers-8955df0caaf9
Interlude
◼ Different people think of AI differently.
◼ Computer engineering provided the artifact that makes AI applications possible. AI programs tend to be large, and they could not work without the great advances in speed and memory that the computer industry has provided.
◼ The history of AI has had cycles of success, misplaced optimism, and resulting cutbacks in enthusiasm and funding. There have also been cycles of introducing new creative approaches and systematically refining the best ones.
◼ Recent progress in understanding the theoretical basis for intelligence has gone hand in hand with improvements in the capabilities of real systems.
May 5, 2018 CS & SE Orientation – Apple Workshop 21
Difference Between AI, ML, and DL
May 5, 2018 CS & SE Orientation – Apple Workshop 22
• AI: Human Intelligence Exhibited by Machines
• ML: An Approach to Achieve AI
• DL: A Technique for Implementing ML
Goal
Approach
Technique
Source: https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/
Major Subjects in Artificial Intelligence
Art
ific
ialI
nte
llig
en
ce
(AI)
Pattern Recognition (PR)
Machine Learning (ML)
Data Analysis and Mining (DAM)
Information Retrieval (IR)
May 5, 2018 CS & SE Orientation – Apple Workshop 23
Machine Learning ≈ Looking for a Function
◼ Speech Recognition
f( ) = “How are you”
◼ Image Recognition
f( ) = Cat
◼ Playing Go
f( ) = “5-5” (next move)
◼ Dialogue System
f(“Hi”) = “Hello”
(what user said) (system response)
May 5, 2018 CS & SE Orientation – Apple Workshop 24
The Machine Learning Route
◼ Give a computer a fish, you feed it for a day; teach it how to fish, you feed it for a lifetime.
May 5, 2018 CS & SE Orientation – Apple Workshop 25
• When human cannot program the system manually• e.g., navigating on Mars
• When human cannot “define the solution” easily• e.g., speech/visual recognition
• When needing rapid decisions that humans cannot do• e.g., high-frequency trading
• When needing to be user-oriented in a massive scale• e.g., consumer-targeted marketing
Some Use Scenarios
Framework
A set of function
Modelf1, f2, …
TrainingData
Goodness of function f
Better!
function input:
function output:
May 5, 2018 CS & SE Orientation – Apple Workshop 26
monkey cat dog
Image Recognition:
f( ) = Cat
Framework (cont.)
A set of function
Modelf1, f2, …
TrainingData
Goodness of function f
May 5, 2018 CS & SE Orientation – Apple Workshop 27
monkey cat dog
Step 1
Framework (cont.)
A set of function
Modelf1, f2, …
TrainingData
Goodness of function f
May 5, 2018 CS & SE Orientation – Apple Workshop 28
monkey cat dog
Step 2
Framework (cont.)
A set of function
Modelf1, f2, …
TrainingData
Goodness of function f
May 5, 2018 CS & SE Orientation – Apple Workshop 29
monkey cat dog
Pick the “best” function f*Using f*
cat
Training Testing
Step 3
Step 1: define a set of function
Step 2: goodness of function
Step 3: pick the best function
Machine Learning is SO Simple ……
It’s like putting an elephant into the fridge...
May 5, 2018 CS & SE Orientation – Apple Workshop 30
Supervised Learning
Regression
Linear Model
Structured Learning
Semi-supervised Learning
Transfer Learning
Unsupervised Learning
Reinforcement Learning
Classification
Deep Learning
SVM, decision tree, K-NN …
Non-linear Model
scenario methodtask
Learning Theory
Learning Map
May 5, 2018 CS & SE Orientation – Apple Workshop 31
Recommended Courses
◼ Stanford CS229 Machine Learning
◼ Stanford CS231 CNN for Visual Recognition
◼ CMU 10701 Introduction To Machine Learning
◼ CMU 10601 Machine Learning
◼ MIT 6.867 Machine Learning
◼ Harvard CS109 Data Science
◼ Berkeley CS294 Deep Reinforcement Learning
◼ NTU 1051 Machine Learning Foundations
◼ NTU 1052 Machine Learning Techniques
May 5, 2018 CS & SE Orientation – Apple Workshop 32
Recommended Books
◼ 2016
◼ 2012
◼ Yoshua Bengio, Ian Goodfellow, Aaron Courville, Deep Learning. MIT Press,2016.
◼ Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach (3rd
ed.). Pearson, 2009.
◼ Simon Haykin, Neural Networks and Learning Machines (3rd ed.). Pearson Education, Inc., 2008.
◼ Shai Shalev-Shwartz, Shai Ben-David, Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press, 2014.
May 5, 2018 CS & SE Orientation – Apple Workshop 33
Recommended Books (cont.)
◼ Peter Harrington, Machine Learning in Action. Manning Publications Co.,2012.
◼ Kevin Murphy, Machine Learning: A Probabilistic Perspective. The MITPress, 2012.
◼ Trevor Hastie, Robert Tibshirani, Jerome Friedman: The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.).Springer, 2009.
May 5, 2018 CS & SE Orientation – Apple Workshop 34
Useful Websites: Datasets and Contests
◼ UCI Machine Learning Repository350+ searchable datasets spanning almost every subject matter. You will definitely find datasets that interest you.
◼ KaggleA platform for predictive modeling and analytics competitions on which companies and researchers post their data and statisticians and data miners from all over the world compete to produce the best models.
◼ data.govOpen datasets released by the U.S. government. Great place to look if you are interested in social sciences.
May 5, 2018 CS & SE Orientation – Apple Workshop 35
Outline
◼ Introduction to Major CS Disciplines• CS Overview
• A Special Emphasis on AI
• The Application of CS in Interdisciplinary• Finance
• Bioinformatics
◼ Guide to Career Paths
May 5, 2018 CS & SE Orientation – Apple Workshop 36
Technology in Finance
◼ In a sense, technology per se is nothing special to financial institutions or to the finance function.
◼ However, in recent years, spurred by innovation and also regulation, banks and other financial institutions like hedge funds have evolved more and more into technology companies instead of being just financial intermediaries.
May 5, 2018 CS & SE Orientation – Apple Workshop 37
Ever-Increasing Speeds, Frequencies, Data Volumes
◼ There is one dimension of the finance industry that has been influenced most by technological advances: the speed and frequency with which financial transactions are decided and executed.
◼ Increasing data availability on ever-smaller scales makes it necessary to react in real time. The increasing speed and frequency of trading let the data volumes further increase.• This leads to processes that reinforce each other and push the average time scale
for financial transactions systematically down.
◼ Challenges:• Data processing
• Analytics speed
• Theoretical foundations
May 5, 2018 CS & SE Orientation – Apple Workshop 38
The Rise of Real-Time Analytics
◼ One discipline that has seen a strong increase in importance in the finance industry: financial and data analytics.
◼ It refers to the discipline of applying software and technology in combination with algorithms and methods to gather, process, and analyze data in order to gain insights, to make decisions, or to fulfill regulatory requirements, etc.• For example, the estimation of sales impacts induced by a change in the pricing
structure for a financial product in the retail branch of a bank.
• Another example: the large-scale overnight calculation of credit value adjustments (CVA) for complex portfolios of derivatives trades of an investment bank.
◼ Major challenges:• Big data
• Real-time economy
May 5, 2018 CS & SE Orientation – Apple Workshop 39
CS in Finance
◼ Application developer for financial applications (in-house developer or developer for something like BlackRock’s Aladdin Platform).
◼ Trading desk support for major trading desks and investment front-offices.• It often involves creating VBA programs and short automation scripts using Excel.
◼ Trading desk analyst.• Basically a hybrid between trader and PM with the best of both worlds but lacking
authority of a senior trader and cannot directly (officially) make investment recommendations.
◼ Quantitative analyst.• Create automated financial models and investment decision tools.
• Programming skills would be barriers to entry in the finance industry.
May 5, 2018 CS & SE Orientation – Apple Workshop 40
Introduction to Bioinformatics
◼ Bioinformatics is an interdisciplinary field mainly involving molecular biology and genetics, computer science, mathematics, and statistics.
◼ Data intensive, large-scale biological problems are addressed from a computational point of view.
◼ The most common problems are modeling biological processes at the molecular level and making inferences from collected data.
◼ A bioinformatics solution usually involves the following steps:• Collect statistics from biological data.
• Build a computational model.
• Solve a computational modeling problem.
• Test and evaluate a computational algorithm.
May 5, 2018 CS & SE Orientation – Apple Workshop 41
Digital Pathology: An Example
May 5, 2018 CS & SE Orientation – Apple Workshop 42
◼ Lymph node metastasis occur in most cancer types.• It is the first place that breast cancer is likely to spread.
◼ For cancer in particular, a pathologist’s diagnosis has a profound impact on a patient’s therapy.• For each patient, there can be many slides, each of which is
10+ gigapixels.
• Pathologists are responsible for reviewing all the biological tissues visible on a slide, which is a difficult task requiring years of training and expertise.
Digital Pathology: An Example (cont.)
May 5, 2018 CS & SE Orientation – Apple Workshop 43
◼ However, there is only 48% agreement in diagnosis for some breast cancer and prostate cancer.
◼ Google created an automated detection algorithm that can naturally complement pathologists’ workflow.• By using slide images, they have trained Inception optimized for localization of
breast cancer that has spread (metastasized) to lymph nodes adjacent to the breast.
Digital Pathology: An Example (cont.)
May 5, 2018 CS & SE Orientation – Apple Workshop 44
◼ The tissue contains a breast cancer metastasis as well as macrophages, which look similar to tumor but are benign normal tissue.
◼ Inception algorithm successfully identifies the tumor region (bright green) and is not confused by the macrophages.
Digital Pathology: An Example (cont.)
May 5, 2018 CS & SE Orientation – Apple Workshop 45
◼ The prediction heatmaps produced by Inception gets a FROC score of 89%, while a pathologist with no time constraint earns only 73%.
Source: 2016 ISBI Camelyon Challenge, provided by Radboud University Medical Center.
Outline
◼ Introduction to Major CS Disciplines• CS Overview
• A Special Emphasis on AI
• The Application of CS in Interdisciplinary
◼ Guide to Career Paths
May 5, 2018 CS & SE Orientation – Apple Workshop 46
Typical Career Paths
◼ Typical career paths for students major in Software Engineering:
May 5, 2018 CS & SE Orientation – Apple Workshop 47
Take Undergraduate
School
Obtain Bachelor’s
Degree
(Pursue a Master’s Degree)
Work as a Software Engineer
Take Undergraduate
School
Obtain Bachelor’s
Degree
(Pursue a Master’s Degree)
Pursue a Doctoral Degree
Work as a Research Scientist
Drop out
Occupations and Careers
Computer Programmer
Hardware Engineer
Algorithm Engineer
System Manager
Web Developer
Database Administrator
Network Administrator
System Analyst
Software Tester
Information Researcher
Security Analyst
System Architect
May 5, 2018 CS & SE Orientation – Apple Workshop 48
Suggestions from My Personal Perspective…
◼ Prepare in advance• Plan ahead for the future
• Consult senior students, professors, engineers in industry, etc. for advices
◼ Cultivate soft skills• Communication and negotiation
• Presentation
• Management
• English proficiency
• Business etiquettes
• …
◼ Learn by self• Explore extensively and find several interest points
• Master both practices and theories
May 5, 2018 CS & SE Orientation – Apple Workshop 49
Wish You a Prosperous and Happy University Life!
May 5, 2018 CS & SE Orientation – Apple Workshop 50