選讀電腦科學 - Major in Computer Science (2016.4.28)


互聯網應用方興未艾 - 電商解決方案|eCommerce Solutions、手機程式|Apps、人工智能|AI、金融科技|Fin-Tech、大數據|Big Data、雲端計算|Cloud Computing 、甚至更高層次的互聯網|Internet+ 等又再一次使電腦行業風起雲湧。

要注意的是有別於20世紀,21世紀己進入全球化|Globalization時代,不少企業把IT人才的需求外判|outsource到印度及中國等地。在美國,不少企業亦因業務轉型、業績退步、或收購合併而裁員,包括Yahoo, BlackBerry, Autodesk, NetApp, Intel等。今年至四月美國IT產業己裁員一萬七千多人(Global Equities Research),IT企業轉型的調整期同時亦會招聘擁有新技術的人才;在在說明作為IT人要與時並進 (註1)。


A. 主要IT行業最heat的programming languages。

B. 電腦課程的美國大學排名

C. 較Cool的Computer Languages電腦程式簡介

D. 最往工程糸/電腦科的美國大學簡介


A. Special Purpose Computer Lanuages - Python,  C++, HTML 5 or Java? 

金融業FinTech & Banking Technology

If you want to work in a banking technology role these days, it helps to know where the demand is. Yes, there may be plenty of jobs out there for certain skill-sets, but if the candidate market is saturated or the skills commoditized, the chances are your job will be sent to a lower cost destination.  Popular programming languages are - Python: 6.8,  C++: 8.5,  C#: 10.7,  Java: 15.3,  SQL: 16.7 and HTML 5.

數據科學Data science/Data Mining

Of the popular tools or languages such as R, Python, SAS, MATLAB, SPSS, My SQL and Java, Python is the preferred language. Others less common ones are Unix shell/awk/sed, Pig Latin/Hie/other Hadoop-based languages. Note: MATLAB, SPSS and SAS are expensive software products. Java has a very high learning curve. My SQL and other Hadoop based languages are open source databases, rather than a programming language.

雲端運算Cloud Computing

The coolest cloud programming languages include - The SQL data language, The XML data language, The R math language, The Clojure math language, The Haskell functional language, The Erlang functional language,  The Python procedural language,  The Go procedural language,  The GFM domain-specific language, and The regular expression domain-specific language.

移動手機應用 Mobile App Development

If you intend to realize your mobile app idea, it's time to validate it, understand the target market, and narrow down on the platform you ideally would like to build your mobile application on. Once that is decided, it’s time to select a programming language, keeping in mind your business strategy to make either native, hybrid, or cross-platform apps. Popular ones include Java, HTML5, Objective-C, Swift, C++, C# etc.

Web 開發人員 Developer

The truth is that web developers don’t just sit and stare at a computer screen all day. While writing code is a big part of the job, interacting with designers, illustrators, copywriters and other personnel involved in the planning process is an essential piece of the puzzle.  Web developers also analyze website performance and strategize updates and improvements.  On top of that, it’s crucial for them to spend a great deal of time researching new techniques and technologies. Top 5 technical skills for web developers: JavaScript, jQuery, Hypertext Preprocessor (PHP), HTML5 and Java.


B. 美國大學排名 - 計算機科學 Computer Science Program - US University Ranking computer Science

Business Insider (2015) School Undergrad Gourman Report 2005 Grad in Computer Languages (US News) Grad in Computer System   (US News) Location
01 Massachusetts Institute of Technology 2 4 2 Cambridge, Massachusetts
02 California Institute of Technology 3   18Tie Pasadena, California
03 Stanford University 1 3 3 Stanford, California
04 Carnegie Mellon University 6 1 4 Pittsburgh, Pennsylvania
05 Georgia Tech (GIT) 10 13Tie 6 Atlanta, Georgia
06 University of California at Berkeley 4 2 1 Berkeley, California
07 Princeton University   5 12 Princeton, New Jersey
08 Cornell University   6 17 Ithaca, New York
09 Harvard University   11Tie   Cambridge, Massachusetts
10 Duke University       Durham, North Carolina
11 University of Michigan at Ann Arbor 5   10 Ann Arbor, Michigan
12 Rensselaer Polytechnic Institute       Troy, New York
13 Johns Hopkins University 11     Baltimore, Maryland
14 Columbia University   17Tie 14Tie New York, New York
15 Yale University       New Haven, Connecticut
16 University of Pennsylvania 8 7 18Tie Philadelphia, Pennsylvania
17 Harvey Mudd College       Claremont, California
18 Rice University   11Tie   Houston, Texas
19 Northwestern University 12     Evanston, Illinois
20 University of Illinois at Urbana-Champaign 7 9 7 Urbana-Champaign, Illinois
21 Purdue University 9 17Tie 16 West Lafayette, Indiana
22 Vanderbilt University 18     Nashville, Tennessee
23 University of California at Los Angeles 13 17Tie 14Tie Los Angeles, California
24 Virginia Tech       Blacksburg, Virginia
25 University of Texas at Austin   8 08Tie Austin, Texas
26 University of California at San Diego 14   11 San Diego, California
27 University of Wisconsin at Madison   10 08Tie Madison, Wisconsin
28 University of Southern California       Los Angeles, California
29 Northeastern University   13Tie   Boston, Massachusetts
30 Texas A&M University       College Station, Texas
31 California Polytechnic State University       San Luis Obispo, California
32 New York University       Brooklyn, New York
33 University of Maryland at College Park   13Tie 13 College Park, Maryland
34 Penn State 16     State College, Pennsylvania
35 Worcester Polytechnic Institute       Worcester, Massachusetts
36 Rochester Institute of Technology       Rochester, New York
37 University of California at Davis       Davis, California
38 University of Washington 21 13Tie 5 Seattle, Washington
39 Ohio State University       Columbus, Ohio
40 University of California at Santa Barbara       Santa Barbara, California
41 University of Minnesota at Twin Cities       Minneapolis, Minnesota
42 Boston University       Boston, Massachusetts
43 North Carolina State University       Raleigh, North Carolina
44 University of Colorado at Boulder 19     Boulder, Colorado
45 Santa Clara University       Santa Clara, California
46 University of Florida 23     Gainesville, Florida
47 University of Connecticut       Storrs, Connecticut
48 Brigham Young University       Provo, Utah
49 Colorado State University       Fort Collins, Colorado
50 DigiPen Institute of Technology       Redmond, Washington
  Indiana University—​Bloomington    20   Bloomington, IN
  Case Western Reserve University 20     Cleveland, Ohio
  UTAH University 15     Salt Lake City, Utah
  Washington University - St Louis 17     St Louis, Washington DC
  Arizona University 22     Tuscon, Arizona


C.  個人計算機語言的簡要說明 Brief descriptions of individual computer languages

popular coding languages 


1. Java (15.3)

Java is an object-oriented programming language developed at Sun Microsystems (now owned by Oracle), it can be run in 2 different ways either in a browser window or in a virtual machine that can do without a browser. And this flexibility tends to mean a lot when it comes to re-using code and updating software.  

Java is considered as the perfect language for the developers and programmers to learn.. Java can be utilized for mobile-based applications, enterprise level purpose, for creating desktop applications, and for establishing Android apps on tablets and smartphones.

Java is pre-eminent in investment banking, but as banks’ need for new developers diminishes, Java programmers have fallen out of fashion.  This is a problem when, as has long been the case, there’s no shortage of people on the job market with the knowledge of Java.  The key now is to present both your domain expertise, along with any complimentary technology skills you may have.   The most employable Java candidates now are also well-versed in Scala and – increasingly in the Big Data-led world, Oracle’s Coherence, says Bennie.

2. PHP

The web developers should learn about PHP or Hypertext Preprocessor, a well-known programming language. With the help of PHP, you can enlarge a web app very quickly and effortlessly. PHP is the actual foundation of many strong content management systems (CMS) such as WordPress. PHP is really a valuable programming language for the developers and programmers.

3.  JavaScript

While you are expanding your site, JavaScript is extremely functional as this language can immensely assist you in generating communication for your website. You can utilize various in style frameworks in JavaScript for constructing superb user interface. When you’re into web development, it’s very important to known about JavaScript for making interactive web pages. JavaScript is applied for including animations on the web pages, loading fresh images, scripts or objects on web page, and craft hugely responsive user interfaces.

Traditionally, scripting may have referred to “incomplete” or “limited” languages. Usually used as the “glue” that tied different applications together, or just as an easy language to write something quick and dirty to automate some mundane task. Most common examples given are JavaScript, ActionScript and Shell script.

Building a JavaScript based application today requires the same thinking and design you would give while building an application in C or Java. You need to apply the same design patterns that apply on the back-end. Speaking of the back-end, today you can even run JavaScript on the server side. One can even technically write a full GMail clone in just JavaScript.

4. Python

For becoming skilled at all-in-one language, you should begin learning Python language that has the ability to expand web apps, data analysis, user interfaces, and many more, and frameworks are also available for these tasks. Python is utilized by bigger companies mostly that can evaluate vast data sets, thus this is a huge chance to learn it and be a Python programmer.

The Python procedural language /Python: 6.8 - it is a high-level language that was designed to be readable. These days, pretty much anyone can get started with Python. Learning aids include classes, books, and even an interactive Python tutorial.

Python is most certainly the fastest growing language within financial services. The most important thing to note with Python however, is the adaptability of the language. It's an easy language to pick up so many people claim to know Python. If you're at that point, dig deeper.

There's a whole world of knowledge and problems within Python. Try to learn as many libraries as you possibly can, such as things like C-Python.

Investment banks use Python for pricing, risk management and trade management platforms. More recently, they’ve been reprogramming their trading systems to run off Python rather than other, clunkier languages. Many hedge funds are also replacing MATLAB with Python, and others are using it to replace Java.

Most banks ask for Python in conjunction with Java. With or without Java, however, stats suggest there aren’t that many Python jobs out there. There are fewer jobs requiring Python skills than any other programming language. The good news is that candidates with Python skills are rarer still, with the result that the ratio of candidates to roles is very favorable (for candidates).  (See Note 2)

5. Objective-C

Objective-C was chosen by Apple to build mobile apps for iOS that are robust and scalable. Being a C-language superset, it does have a number of functions that precisely deal with graphics, I/O, and display functions. As part of the Apple development framework, Objective-C is fully integrated into all iOS and Mac OS frameworks. However, it’s now slowing being replaced in the Apple ecosystem by a more powerful language called Swift.

When you have learnt Objective-C, you can begin applying XCode that is known to be the authorized software development tool from Apple. Then you can quickly produce iOS app that can be noticeable in App Store.

6. Ruby

Another popular programming language is Ruby and Ruby on Rails. This can be learnt easily, and also very strong and clear-cut. If you’ve small time in hand and still want to craft any project, then you can surely utilize Ruby language. This programming language is applied massively for web programming, and hence turned out to be the ideal selection for the beginner companies.

7. Perl

Perl is a well-accepted programming language that offers distinct tools for various obscure setbacks such as system programming. Though this programming language is a bit puzzling, but it is really a strong one. Perl is mainly used for sites and web app expansion, desktop app development and system administration, and test automation that can be applied for testing databases, web apps, networking devices, and many more.

8. C, C++ and C#

Being the oldest, C is unique and should be learnt firstly when you start up, and it is mainly applied in forming different software.

C++ or C plus plus is a bit more progressive than C, and utilized immensely in forming hardware speeded games. It is an ideal selection for strong desktop software as well as apps for mobiles and desktop. Known to be the strongest language, C++ is applied in vital operating systems, such as Windows.

After learning C and C++, you can go ahead in knowing about C# language. It won’t be difficult for you to get accustomed with C# after knowing C and C++. C# is actually the prime language for Microsoft applications and services. While executing with .Net and ASP technologies, you are required to be familiar with the C# accurately.

a.    C++ (8.5)

“C++ is used in situations where speed is everything”, C++ is king. A good C++ developer is absolute gold within financial services. It's low-level programming capabilities make it ideal for low-latency (fast response) software. It's used by every bank and most hedge funds and trading firms.

Make sure you also know C++11 or C++14. C++98 isn't going to get you very far in 2016.   C++ has enjoyed something of a reversal of fortunes over the past 12 months, largely because of increased demand, combined with the relative shortage of programming expertise.

When it comes to building mobile apps for Android and Windows, C++ is the most robust programming language. And for low-level programming it's still the go-to language on platforms for mobile app developers. As a powerful programming language, C++ allows mobile apps to be developed for practically every purpose on every platform that exists. It might not be super chic or trendy, but it has dominated the programming world even before the smartphone revolution.

b. C# (10.7)

Investment banks are bringing in C# WPF developers from the bottom up – offering packages for graduates willing to make the move into an investment banking tech role. They’re also hiring old hands to assist with everything from front-to-back projects to cross-asset class trading platforms. C# remains a sought-after skill-set in investment banking, but there’s a challenge finding people not just with the skills, but with the depth of knowledge that banks require.

The most coveted programming language for Windows Phone app development, C# does the trick for Microsoft that Objective-C does for Apple. Although, Windows Phone platform couldn’t emerge as the game changer in the mobile application development industry, for loyal Microsoft users, C# makes the perfect programming language to build the robust Windows Phone apps.

9. SQL

When you are executing on databases such as Microsoft SQL server, Oracle, MySQL, etc, you should be aware of SQL programming language or Standard Query Language. From this language, you can achieve the proficiency of acquiring the needed data from big and multifaceted databases.

The SQL data language, SQL (16.7).

When it comes to data languages, SQL has been the undisputed ruler for decades. Even non-relational database servers talk some form of SQL. The cloud is just as full of SQL as all other areas of IT.

Here's a SQL joke that developers everywhere will understand. "A man walks into a bar and sees two tables. He says, 'Can I join you?'"

Compared with banking industry, there are more technology jobs asking for knowledge of SQL than any other programming language in banking. Unfortunately, it’s often as a secondary requirement for other development roles and is coupled with a huge supply of candidates claiming to have knowledge of it. “SQL is part of a developer’s tool-kit, not a core requirement” for banking.

10. Swift

Swift it is written to work along with Objective-C, yet Swift is the latest programming language to foray into the Apple ecosystem, mainly considering its prevalence in writing code for Apple’s latest APIs, Cocoa and Cocoa Touch.

Designed to eliminate the likelihood for many of the security vulnerabilities possible with Objective-C, it’s time for mobile app developers to Swift, as many business are looking to hire Swift developer with expertise in developing cutting-edge mobile apps using the same.

Right now, it may be the trendiest program language for expanding apps for Apple products, it can be utilized by to build apps for iOS activated devices and Apple’s MAC in quick and simple method.

11. HTML5 (23.4)

To build a Web-fronted app for mobile devices, HTML5 is the ideal programming language. Although it makes various data types simple to insert, account for different screen sizes, rationalize input parameters and even level the browser playing field; the problem with HTML5 is that it is still a proposed standard.  Currently supported in a lot of different ways by a lot of different browsers, HTML5 from the cost-efficiency point of view has the advantage of building on the current version of HTML — making the learning curve a much shallower than that for a completely new language.

Getting programmers on board who can develop online banking solutions in the retail space, or client-pleasing front ends for trading applications is a key concern for financial services firms. Unfortunately, knowledge of HTML5 is relatively commonplace.  This doesn’t necessarily mean that these jobs are easy to fill. From a client perspective, demand has picked up for HTML5 and the issue a lot of banks face is not finding the skills.

12. The XML data language

XML is used to describe documents rather than deliver a stream of orders. Since XML doesn't usually order computers around, it isn't usually thought of as a computer language.

XML is the popular data markup language, and that's mainly because of Java. Where there's Java, there's XML. And since Java has been powering large-scale distributed systems since way before cloud was a computing thing, XML documents are everywhere. Apache Hadoop configuration lives in XML files.

13. Math & Functional Languages

a. The R Language

It helps developers with statistics, reports, and graphs. An interactive R tutorial exposes new developers to the joy of vectors, factors, and correlating data sets.

Amazon bundles the RStudio IDE with its EMR (Elastic MapReduce) service to help with big data analytics.

R has quite a high learning curve and there are certain areas of data science for which it is not well suited. R is frankly a hodgepodge of features, which makes it intimidating for a beginner vs Python which is an extremely coherent, compact, object oriented language.

b. The Clojure math language

Clojure is not just a math language — it's both a general purpose and a functional language. It just so happens Clojure is popular with data analysts.

Apache Storm, the real-time data stream processor, is written in Clojure. Functional languages don't need the semi-colons that procedural languages do; you can see the semi-colons are only used for comments in this Clojure script.

c. The Haskell functional language

Haskell is a functional language that is ideal for distributed computing, and acloud Haskell platform project started a couple of years ago.

Even though Haskell has a fair adoption in industry and it's in the GitHub Top 20, Haskell take-up in the cloud so far is patchy — perhaps Haskell is perceived as being hard to learn. Find out for yourself at the Try Haskell tutorial.

d. The Erlang functional language

Erlang came out of Ericsson. In the telecoms industry, products have to stay up forever, and everything (customers, connections, transactions, and records) is counted in millions.

A carrier-grade functional language sounds like an ideal fit for cloud computing. And in fact, despite not making the GitHub Top 20, Erlang powers popular cloud applications, including Riak, CouchDB, RabbitMQ, and even theLING unikernel.

14. Other special purpose languages

a. The Go procedural language

Go was created at Google a few years ago when some of Google's programmers were frustrated with languages such as Stroustrup's C++. Google provides an interactive Go tutorial and a Go Playground for getting to grips with the code.

Docker, the darling of cloud computing, is written in Go, along with many other projects in the Docker ecosystem.

b. The GFM domain-specific language

GFM (GitHub Flavored Markdown) is a plain text formatting language used to document repos on GitHub. GFM is used by millions of developers, because millions of developers use GitHub.

Because there are so many cloud-specific projects such as Cloud Foundry on GitHub, GFM is good to know. And it's probably the simplest to learn of all the languages in this list.

c. The regular expression domain-specific language

The regex (REGular EXpression) syntax is disturbing to newcomers because it is practically symbolic — instead of keywords, there are single characters. Regex code looks like someone fell asleep on the keyboard. If you want to be scared off the regex language for life, check out this extreme example — aJSON parser.

However, regular expressions are a pillar of the Linux world. One of the core principles of the old UNIX OS and its Linux successor is the heavy use of text. Text is used everywhere — for configuration, on the command line, and in protocols. Regular expressions help developers manage that text....


D. 學校計算機科學說明  Description of Engineering School - Computer Science Study in the Top US Universities

Massachusetts Institute of Technology (MIT) - In addition to being the top engineering school overall, MIT boasts No. 1-ranked programs for chemical, aerospace/aeronautical, computer, and electrical engineering, according to US News. Upon graduation, 32% of students head on to graduate school while 57% enter the workforce. Students are courted by nearly 250 companies; top employers for MIT grads include Google, Amazon, ExxonMobil, and Goldman Sachs.

California Institute of Technology (Cal Tech) - At Caltech, students take a practical approach to learning to "expand human knowledge and benefit society." There are seven areas of study to choose from, ranging from aerospace to medical engineering. The school's engineering department is also pretty diverse — over a third of students are women. The average starting salary for 2013 Caltech grads was $82,000.

Stanford University - Stanford students take can advantage of opportunities to study and work abroad through the school's Global Engineering Programs, which provides students with internships in China, Uganda, Japan, Brazil, and more. US News ranks Stanford as the No. 2 engineering school in the country, with its computer, mechanical, and electrical programs taking the No. 2 spots in their respective fields as well.

Carnegie Mellon University - Graduates can expect competitive compensation with a degree from Carnegie Mellon. For the class of 2013, the median starting salaries ranged from $60,000 for civil and environmental engineers to $90,000 for electric and computer engineers. Partnerships with major companies like IBM, Google, and General Motors also allow students to gain hands-on experience in their fields.

Georgia Tech (GIT) - Georgia Tech's undergraduate engineering department is ranked No. 4 overall in the nation by US News. Its industrial engineering program earned US News' top ranking in its field, while Tech's civil and aerospace programs took No. 2 and No. 3 in their respective fields as well.

University of California at Berkeley (UCB) - Cal is ranked first in the nation for environmental engineering, second for chemical engineering, and third for civil, industrial, and materials, according to US News. The programs pay off too: Graduates from the class of 2014 reported an average starting salary of $82,000.

Princeton University - At Princeton, the engineering curriculum for all majors focuses on equipping students to solve real-world problems regarding energy and the environment, health, security, and leadership. Engineering students from the class of 2014 reported an average starting salary of $68,923 annually.

Cornell University - Among the class of 2013, 92% of undergraduate engineering students were either on their way to graduate school or employed full-time by graduation day, with several headed to top companies including Proctor & Gamble, Accenture, and Google. The average starting salary for the class was $72,287, though some students reported earning as much as $120,000.

Harvard University - Undergraduate students from Harvard's John A. Paulson School of Engineering and Applied Sciences have gone on to work at elite companies including Pixar, Google, and Citigroup. Harvard's host of internship partners also includes exclusive placements at companies like Facebook, Intel, and NASA.

Duke University - At Duke's Pratt School of Engineering, gaining hands-on experience is a top priority for students. More than 75% of undergraduates complete an industry-related internship, and almost 60% work with a faculty member on an intensive research project.

University of Michigan at Ann Arbor - University of Michigan's co-op program allows students to alternate between semesters of classes and time off to complete internships and gain work experience. For several students, these co-ops turn into a full-time job offer. Graduates from the class of 2014 were also recruited and hired by prominent companies including Facebook, Lockheed Martin, and Pfizer.

Rensselaer Polytechnic Institute - Not only are RPI graduates prepared to handle professional engineering positions, they're ready to prove it. Last year, 58% of students graduated with a full-time job offer, and another 18% had plans to attend graduate school. Top employers for the class of 2014 include Schlumberger, Deloitte, Boeing, and General Electric.

Johns Hopkins University - Ensuring that every student finds a job (or enrolls in graduate school) after graduation is a top priority at Johns Hopkins. The school employs a full staff of 12 to help students with everything from writing resumes to finding internships. Students gain plenty of experience on-campus as well: 70% of undergrads in the engineering department participate in research opportunities.

Columbia University - At Columbia, students take advantage of the school's New York City location by working through practical projects that benefit the city, such as developing wheelchair-accessible playgrounds or mentoring local high-school students. Undergrads can also gain experience on-campus by assisting professors with research.

Yale University - Yale's School of Engineering and Applied Science offers degrees across six disciplines of engineering: biomedical, chemical, environmental, electrical, mechanical, and materials science. Students can join a number of national engineering organizations, including the Society of Women Engineers and the Tau Beta Pi honor society.

University of Pennsylvania - At U Penn, every student is encouraged to participate in faculty-led research. Students can search for mentors in the faculty expertise directory or apply for one of the school's numerous scholarship programs. Penn also has several longstanding partnerships with big-name companies — including Lockheed Martin and Honeywell International — that result in research, internship, and employment opportunities for students.

Harvey Mudd College - The core philosophy at Harvey Mudd is that professionalism is "best addressed through practice." Students follow through on this philosophy through the clinic program, in which teams of juniors and seniors work with professors and professionals to solve real-world problems for external clients.

Rice University - More than a third of Rice's undergraduate students are enrolled in the George R. Brown School of Engineering. The school takes advantage of Houston's prominence in the energy, medical, and space sectors through research partnerships and internship opportunities with local companies.

Northwestern University - With over $81 million in research expenditures annually, Northwestern's McCormick School of Engineering offers plenty of opportunities for hands-on experience. Throughout the year, McCormick also hosts three career fairs with accompanying interview days for students to network with recruiters and land internships and jobs.

University of Illinois at Urbana-Champaign (UIUC) - University of Illinois engineering students receive an average of two job offers apiece and earn about 11% more than other engineering undergrads around the country. The mean starting salary for the class of 2014 ranged from $48,800 for nuclear, plasma, and radiological majors to $89,023 for computer-science majors.

Purdue University - Purdue takes US News' No. 9 spot for top undergraduate engineering programs overall, but they aren't stopping there: Purdue is updating their facilities and hopes to grow the faculty by 30% over the next five years.

Vanderbilt University - In 2013, Vanderbilt engineering graduates landed jobs at ExxonMobil, Texas Instruments, and General Motors, among others. Every spring, Vandy also hosts an engineering-centric career day, which directly connects students with recruiters from top companies like Baker Hughes and Philips Healthcare.

University of California at Los Angeles (UCLA) - A starting point for over 33,000 working engineers, UCLA's Henry Samueli School of Engineering and Applied Science is also considered the birthplace of the internet: The first transmission from what would become the web was sent from campus. Bioengineering and biomedical research are two popular fields of study here.

Virginia Tech - After graduation, 87% of the class of 2014 either entered the workforce — with a median starting salary of $62,500 — or went on to pursue an advanced degree. Many job-seeking students ended up at elite companies such as Microsoft, General Electric, and IBM.

University of Texas at Austin - Average annual starting salaries for members of the class of 2014 range from $58,260 for civil engineers to $90,012 for petroleum engineers; the average for all students is $73,039. The school hosts two engineering career fairs each year — one in the fall and one in the spring — where companies like Chevron, BP, Intel, Texas Instruments, and Raytheon serve as corporate partners.

University of California at San Diego (UCSD) - The engineering school at UC San Diego ranks 14th in the US and 18th in the world, according to the 2014 Academic Rankings of World Universities. The school specializes in a number of interdisciplinary initiatives, including contextual robotics, makerspace and design, and global entrepreneurism.

University of Wisconsin at Madison - About 85% of engineering undergrads secure one or more opportunities to be a summer intern or co-op engineer prior to graduation. The average starting income of a UW engineer is $62,402 — a salary that comes from prestigious companies such as 3M, Ford Motors, Kimberly-Clark, and Schlumberger.

University of Southern California (USC) - The Viterbi School of Engineering at USC ranks 12th on US News' list of the best global universities for computer science. The school is known for its strong video game programming specialization; its video games program was ranked No. 1 by The Princeton Review for the sixth year in a row.

Northeastern University - Twelve percent of graduates from the Northeastern class of 2013 majored in an engineering field. Students get a well-rounded, experiential education compiled of both classroom and hands-on learning that takes them out into the world to apply what they learn in class to real-life problems.

Texas A&M University - The "A&M" part of Texas A&M stands for agricultural and mechanical, as engineering has always been a part of this large Texas research university. The Dwight Look College of Engineering is ranked No. 8 overall for best undergraduate engineering program by US News, and the college is ranked No. 1 for the best petroleum engineering program.

California Polytechnic State University - Cal Poly statistics from the class of 2011-2012 report that 81% of undergrads had found full-time employment within a year of graduating, and earned a median starting salary of $64,000. Top employers for Cal Poly grads include Abbott Laboratories, Covidien, Apple, Microsoft, and SpaceX.

New York University (NYU) - Engineering students at NYU have big prospects in store: More than 89% of undergraduate students receive job offers within six months of graduating, and earn a mid-career salary of $117,000. NYU's Polytechnic School of Engineering was ranked No. 10 on Forbes' list of colleges that will make you rich; Forbes also ranked it No. 7 on its list of the best colleges for women in STEM.

University of Maryland at College Park - Eighty-five percent of Maryland undergraduate engineering students were either employed full-time or about to attend graduate school full-time by the time they graduated. Another 85% of undergraduate co-op and intern students who applied for full-time positions with their co-op or intern placements received offers. A bachelor's in engineering from Maryland pays off well, with the average starting salary falling around $66,500.

Penn State (PSU) - Penn State is ranked seventh in the nation for industrial engineering, 10th for materials engineering, and 18th overall by US News. Every student completes at least one internship, and 45.2% of those who do receive an offer of full-time employment from their internship placements.

Worcester Polytechnic Institute - Engineering is so steeped in WPI's campus culture that even the team name is the Engineers. WPI is one of the first engineering and technology universities in the country, where engineering — especially in the fields of mechanical engineering, biomedical engineering, electrical and electronics engineering, and chemical engineering — is the most popular major.

Rochester Institute of Technology (RIT) - Last year, RIT engineering students generated more than $30 million in earnings through employment placements. During their degrees, students participate in at least one year of full-time, paid experiential cooperative education experience with more than 500 companies, including Apple, Boeing, Lockheed Martin, and Welch Allyn.

University of California at Davis (UCD) - UC Davis is ranked No. 17 among top US public universities for the best undergraduate engineering programs by US News. The school puts on a company day, where potential employers can come recruit UC Davis students, and other career events. It even has a separate recruiting event for Apple engineers.

University of Washington (UW) - The University of Washington is committed to diversity, with nearly a quarter of its undergraduate engineering majors being women and another 45% comprising Asian Americans, underrepresented minorities, and foreign nationals. Many students secure jobs before graduation, and many others create their own job opportunities — UW is ranked No. 3 in the country for the number of startups launched each year.

Ohio State University (OSU) - OSU engineering students take advantage of a number of study-abroad programs in Europe, Asia, and Australia. Employment outcomes are very positive: 100% of students with a focus in aviation reported finding employment at graduation; 95% of industrial and systems engineering students, and another 82% of computer-science and engineering students report the same. Average starting salaries range from $54,458 to $67,170.

University of California at Santa Barbara (UCSB) - Many UC Santa Barbara students join professional engineering organizations such as the American Institute of Chemical Engineers, the Institute of Electrical and Electronics Engineers, the Association of Computing Machinery, and the American Society of Mechanical Engineers. Students can graduate with a bachelor's in four years, or a dual bachelor's-master's in five.

University of Minnesota at Twin Cities - Average starting salaries for University of Minnesota at Twin Cities engineering graduates range from $53,000 to $77,900. These are students who are sought after by elite companies like Honeywell, General Electric, NASA, Apple, Google, and Microsoft, among others.

Boston University (BU) - BU engineering students have excellent career outlooks: From the class of 2014, 49% had accepted job offers while another 14% went on to graduate school, 10% went on to transitional engineering jobs, and 4% went into military service. The average starting salary for BU grads is higher than the national average — $66,500, compared to $59,000.

North Carolina State University - The Wall Street Journal named the engineering program at North Carolina State 15th in recruiter rankings. The school is visited by a number of local and national employers eager to hire NCSU grads; this fall, the school will host companies like Amazon, Anheuser-Busch, GlaxoSmithKline, and Merck, among others.

University of Colorado at Boulder - Internship and job opportunities at CU Boulder are plentiful; students are recruited by Fortune 500 companies and smaller ones alike through numerous recruiting opportunities and career fairs. Apple cofounder Steve Wozniak attended CU Boulder's College of Engineering and Applied Sciences for a time; he ended up transferring to the University of California at Berkeley and received an honorary doctoral degree from Boulder later.

Santa Clara University - The undergraduate program at Santa Clara's School of Engineering is ranked No. 10 in the country by US News. SCU's Silicon Valley location makes it the second-best location for STEM grads to be after college based on job availability and salary.

University of Florida - Powering the new engineer is the University of Florida's motto for its 8,700-strong engineering program. UF is a top 10 school in total STEM degrees awarded, and the undergraduate program has been ranked No. 2 by US News & World Report.

University of Connecticut - UConn offers 12 bachelor's-degree programs in engineering — everything from biomedical engineering to computer science to engineering physics. Engineering students at UConn are highly sought-after upon graduation; top employers include Accenture, Google, IBM, Intel, and Procter & Gamble, and starting salaries range from $52,000 to $65,000.

Brigham Young University (BYU) - Twice a year, Brigham Young hosts one of the largest technical career fairs in the Intermountain West. The career-services department works with more than 1,000 top companies to recruit BYU engineering students for jobs and internships around the world, and offers many other resources and connections specifically for female engineers.

Colorado State University - Colorado State is a leader in the computer- and electrical-engineering spaces, and, by graduation, 75% of the classes between 2007 and 2012 were either employed full-time, attending graduate school, or going into the military or another public service. Top employers of CSU school of engineering grads include Schlumberger, Lockheed Martin, and Wolf Robotics.

DigiPen Institute of Technology - With degree programs ranging from game design to digital art and animation, DigiPen turns students into experts on all things computers and programming. DigiPen's Washington location also puts the school close to several top gaming and technology companies, including Nintendo Software Technology, Microsoft, Valve, and Boeing.

Indiana University—​Bloomington  -

Case Western Reserve University -

UTAH University -

Washington University - St Louis -

Arizona University - 


註1: 互聯網小檔案

電腦業的盛衰可用十年河東,十年河西來形容。由1996開始至2000年起的全球Y2K projects,再加上科網熱 (Dot-Com boom),全球IT人頓成為天之驕子;期間引來成村的莘莘學子修讀Computer Science。可是不少這時期的畢業的便遇上千禧年初的科網爆破|Dot-Com Bubble Burst,無奈地接受學無所用的事實。

泡沫之後,由實實在在的互聯網公司及手機應用商再帶起電腦業的復興,近年互聯網購物的普及、加上大數據及雲端運算 - 消費者的需求及交易經雲端和數據庫即時分析,瞬間建議或答案己展示在手機或電子屏幕上。我們祖國更己關始了互聯網醫院|internet hospital,病人祗需到指定藥房量度血壓等,再經internet由互聯網醫手診段,最後由藥房開藥,大大節省了交通及等侯時間。有創意的同學在這行業學習某些年後,大可發展自己的互聯網應用事業。

註2: More on Python

Python is easy to learn

Python was easier to learn than R. R on the other hand had a high learning curve when compared to Python. Mark Zuckerberg once said: “If you do the things that are easier first, then you can actually make a lot of progress”

As a beginner you will be replicating the projects done by other data scientists, for which you have to read the source code of their projects. Python places an emphasis on readability. So you can understand the code written by other developers without pain. The first code example below is written in c++:

#Include stdout

Int main()


Std::cout <<”Hello, world!n”;


Here is the code with the same output in python:

Print (“Hello, world!”)

Amazing!! Right? Because it is like every day English, it is easier to type. Apart from having a short learning curve, Python is a powerful language to learn, that’s why even NASA uses Python.

Excellent tutorials and libraries

There are excellent tutorials available for Python. Many MOOCs beginner programming classes are taught in python, even MIT teaches its introductory programming course in Python. There are excellent python tutorials focused  on data science applications.

Data scientists are often involved with wiring together network applications, programming for the web, scripting and automating data processing jobs. If you are looking for one programming language to do all these tasks, then Python is the answer. Python’s popularity for data science is largely due to the strength of its core libraries.

Data from real world is not clean, with information from disparate data sources and mismatched records. Data scientist’s spend most of their time cleaning up a messy data set. Pandas makes Data munging a lot easier.

Machine learning

A Data scientist should possess different skills, and machine learning is one of them.

A data scientist should be capable enough to run machine learning algorithms on a dataset to derive meaningful insights. Take any intro data science course, they will give a brief introduction to machine learning. This shows the importance of machine learning in data science.

Python has an extensive machine learning library called Scikit-learn.Especially for deep learning , it has got an amazing library called Theano. You can easily run machine learning algorithms such as Svm, Linear regression, Logistic regression on a data-set using Scikit-learn.