By: Matthew Manross, Guozhuoyan Zhang, Chen Dai
The field of computer science has very many misconceptions about the work they do. Computer science majors do not fix your computer when it does not work. But what is computer science exactly? According to the University of Maryland, “Computer Science is the study of computers and computational systems. Unlike electrical and computer engineers, computer scientists deal mostly with software and software systems; this includes their theory, design, development, and application”. Computer science majors create and design software that the hardware runs. Software is the part of the computer that is not physical, but rather a program. These programs are made from coding in which the hardware will read and run the program, creating games, social media sites, and even websites. The field of computer science is undervalued to most people who do not realize how important this major actually is.
The field of computer science is engineering. Just like an engineer, computer science majors must master science, technology, engineering, and mathematics, or STEM for short. These four categories are what engineers use everyday to help them solve problems.
For computer science major, they focus on the software field, and they may know less on the hardware, since hardware is a tool for them to develop or program a new world. The relationship is a little bit complex, but to simplify the relationship will the same as the writer and pen maker, the writer may know few thing about pen, but they know so much on writing.
Science
The purpose of science is to explore the principle of things and to solve specific problems. The implementation of information and calculation in computer systems is the main goal for this part.
|
Technology
The computer science field works with the newest technology everyday. They program technology with any software involved.
|
Engineering
Computer science majors must work together to create different programs.
|
Mathematics
Programming requires math skills to complete algorithms and formulas.
|
As technology becomes more advanced, our everyday lives become more affected by computer science. Many things people use everyday are created by computer science majors. For example, applications are one of the many things computer science majors work on. Some common applications that people use every day are Facebook, Twitter, Instagram, and even Clash of Clans. Some of the more important applications that computer science majors develop are Microsoft Excel, Word, and Publisher. These applications are commonly used in almost every major out there. Without computer science majors, people would not have their favorite social media site, or their favorite game to play on their iPhone.
Dijkstra said that computer science is no more about computers than astronomy is about telescopes. Comparing with computer engineering, computer science emphasis more on calculation principle and implementation method. Science in computer field is always be partial to software engineering. From the occupation’s point of view, people who have learned CS would have the target position to Microsoft, Google and so on. However, CE and EE students would like to be a staff of Intel, AMD, etc. While considering about the deliverables from two different fields, CS would put all sorts of computing together but EE people enjoy all sorts of chips. Mathematics is the tool of abstract syntax notation and it will give help to solving problems. While writing with complicated algorithm, the basis of calculation and theory of math becomes important. For instance, data mining is mostly relying on mathematics though it would not be the main part during the process of development at ordinary times. A more practical example is that over half of the Turing Awards winners have the solid background on mathematics.
Required Skills
Environment【IDE(Idea/Eclipse, Maven, jenkins, Nexus, Jetty, Shell, Host), Source Code Management (SVN/Git) , WEB server (nginx, tomcat, Resin)】
Environment setting up is a basic skill for all programmers but it is more helpful while software engineer set up a comfortable tools before starting job in a new environment.
Basis【Http, REST, cross-domain, Syntaxes, Web socket, date base, computer network, operating systems, algorithms, data structure】
If another process changes the underlying data without going through the cache, that might cause a problem. Not only establishing underlying data is important but also maintaining it with high performances.
Frame【Spring, AOP, Quartz, Json TagLib, tiles, activeMQ, memcache, redis, mybatis, log4j, junit】
Frame is going to influence the efficiency while coding. It is also the core of the layout application. Each developer uses frame positioning in order to change the size of the UI View and CA Layer.
Operation【financial, education, medical, automotive, real estate】
The direction of operation is significant and it may leads different kinds of style while operating.
Third Parties【Payment, Instant Messaging, maps, voice, video, images】
This skill is related to third parties’ application development. Apps can integrate various functions in them. Including media, payment and so on. The good affiliation between them would give comfortable user experience.
In general, increasing the depth is more difficult than increasing width on specific field. In breadth, as long as you can keep the interest, person will keep learning all kinds of primer. In terms of software development, it might be learning more languages, some of the framework, a variety of different category, and so on. Due to the entry level, the information about them is usually rich. Also it won't have a lot of barriers to entry.
But the depth in technology is different, person may need to know materials which is out of some own cognition or knowledge. And it requires to read books and documents in order to understand the latest progress. Simpler issue is to apply some off-the-shelf technology selection, combinations, and the ideal is to make a breakthrough beyond the level of the industry. In the process, it is likely to be stalled because of the insufficient foundation, such as some documents used in some mathematical or other theories, they also need the supplement of relevant knowledge.
Image Credit:
"Science Vectors, Photos and PSD Files | Free Download." Freepik. Web. 06 Apr. 2016.
"St. Ignatius of Loyola Catholic Secondary School." St Ignatius of Loyola Catholic Secondary School. Web. 06 Apr. 2016.
"Engineering Student Centre (ESC)." Engineering. 2014. Web. 06 Apr. 2016.
"Is Mathematics Important in Healthcare?" Distance Learning Systems INC. 2014. Web. 06 Apr. 2016
Credit: