Mathematician Alan Turing’s theory for a ‘universal machine’, which forms the basis for all modern computing, has been voted the greatest British innovation of the 20th Century. After the world war II, Alan Turing created the first practical design for a stored-program computer called the Automatic Computing Engine (ACE). The ‘universal machine’ theory laid the foundations for the first ever practical design for a stored-program computer which is still used today.

Beginner’s Guide to Computer Science

1. What is Computer Science?

“There are many things that seem impossible only so long as one does not attempt them.”

André Gide, Autumn Leaves

Tiny little AND and NOT gates combined and altered make a switch. A transistor is a miniature electronic component, which can also work as switches. We can put a few transistor switches together to make something called a logic gate, which compares several input currents and gives a different output as a result. Logic gates let computers make very simple decisions using a mathematical technique called Boolean algebra. Your brain makes decisions the same way. This is essentially how all computer chips work. For example, a memory chip contains hundreds of millions or even billions of transistors, each of which can be switched on or off individually.

That idea is the foundation stone of computer programs: the logical series of instructions that make computers do things.

2. *Computer Science Vs Computer Science Engineering

“Computer Science” is an umbrella term which encompasses four major areas of computing: theory, algorithms, programming languages, and architecture. At the undergraduate level, programs usually cover a broad range of computing topics and allow students to engage in projects across multiple areas.

A number of computer scientists have argued for the distinction of three separate paradigms in computer science. Peter Wegner argued that those paradigms are science, technology, and mathematics. Peter Denning’s working group argued that they are theory, abstraction, and design.

Amnon H. Eden described them as the “rationalist paradigm” which treats computer science as a branch of mathematics, which is prevalent in theoretical computer science, and mainly employs deductive reasoning, the “technocratic paradigm” which might be found in engineering approaches, most prominently in software engineering, and the “scientific paradigm” which approaches computer-related artifacts from the empirical perspective of natural sciences, identifiable in some branches of artificial intelligence.

The opinion on which we could conclude is that computer science is a multidisciplinary field which has evolved from multiple core disciplines and is influenced by several others.

“Computer Engineering” typically focuses specifically on computer hardware and software. It is an integration of computer science and electrical engineering. For this reason, many people who want to become computer engineers earn an undergraduate degree in electrical engineering (often with a minor or double major in computer science), and then earn a graduate degree in computer engineering. When searching for a graduate program, look for schools that are equally strong in computer science and engineering.

3. Career Options

Areas of Computer science engineering can be the broadly classified as theoretical computer science and applied computer science. Further classification yield segregation as follows.

Theoretical computer science being classified into Theory of Computation, Information and Coding Theory, Algorithms and Data Structures, Programming Language Theory, Formal Methods.

Applied computer science being classified into Artificial Intelligence, Computer Architecture and Engineering, Computer Performance Analysis, Computer Graphics and Visualization, Computer Security and Cryptography, Computational Science, Computer Networks, Concurrent Parallel and Distributed Systems, Databases and Software Engineering.

Theoretical Computer Science is mathematical and abstract in spirit, but it derives its motivation from practical and everyday computation.

Theory of computation: Theory of computation is focused on answering fundamental questions about what can be computed and what amount of resources are required to perform those computations.

Information and coding theory: Coding theory is the study of the properties of codes and their fitness for a specific application. Codes are used for data compression, cryptography, error detection and correction, and more recently also for network coding.

Programming language theory: Programming language theory is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.

Formal methods: Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages, automata theory, and program semantics, but also type systems and algebraic data types to problems in software and hardware specification and verification.

Applied computer science aims at identifying certain computer science concepts that can be used directly in solving real world problems.

Artificial intelligence: Artificial intelligence (AI) aims to or is required to synthesize goal-orientated processes such as problem-solving, decision-making, environmental adaptation, learning and communication found in humans and animals.

Computer architecture and engineering: Computer architecture, or digital computer organization, is the conceptual design and fundamental operational structure of a computer system.

Computer performance analysis: Computer performance analysis is the study of work flowing through computers with the general goals of improving throughput, controlling response time, using resources efficiently, eliminating bottlenecks, and predicting performance under anticipated peak loads.

Computer graphics and visualization: Computer graphics is the study of digital visual contents, and involves synthesis and manipulation of image data. The study is connected to many other fields in computer science, including computer vision, image processing, and computational geometry, and is heavily applied in the fields of special effects and video games.

Computer security and cryptography: Computer security is a branch of computer technology, whose objective includes protection of information from unauthorized access, disruption, or modification while maintaining the accessibility and usability of the system for its intended users. Cryptography is the practice and study of hiding (encryption) and therefore deciphering (decryption) information. Modern cryptography is largely related to computer science, for many encryption and decryption algorithms are based on their computational complexity.

Computational science: Computational science is the field of study concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems.

Computer networks: This branch of computer science aims to manage networks between computers worldwide.

Concurrent, parallel and distributed systems: Concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other. A distributed system extends the idea of concurrency onto multiple computers connected through a network.

Databases: A database is intended to organize, store, and retrieve large amounts of data easily. Digital databases are managed using database management systems to store, create, maintain, and search data, through database models and query languages.

Software engineering: Software engineering deals with the organizing and analyzing of software — it doesn’t just deal with the creation or manufacture of new software, but its internal maintenance and arrangement.

4. Schools that offer Computer Science Engineering Specialization.

For a Computer science engineering aspirant, the following is the summary of schools offering data science specialization both at bachelor’s master’s or a Phd level. The programs offered are either on-campus, executive or online. Details can be found below.

  1. Massachusetts Institute of Technology (MIT)
  2. Stanford University.
  3. University of Oxford.
  4. Carnegie Mellon University.
  5. Harvard University.
  6. University of California, Berkeley (UCB).
  7. University of Cambridge.
  8. The Hong Kong University of Science and Technology.
  9. ETH Zurich — Swiss Federal Institute of Technology.
  10. Princeton University.
  11. National University of Singapore (NUS).
  12. The University of Hong Kong.
  13. The University of Melbourne.
  14. The University of Edinburgh.
  15. Imperial College London.
  16. University of Toronto.
  17. University of California, Los Angeles (UCLA).
  18. The Chinese University of Hong Kong (CUHK).
  19. The University of Tokyo.
  20. University of Washington.
  21. Nanyang Technological University, Singapore (NTU).
  22. University of Texas at Austin.
  23. UCL (University College London).
  24. University of British Columbia.
  25. University of Waterloo.

5. Self Learners’ Edge!

If you are a self learner, we have sketched out necessary requirements you’d like to go through.

Step I: Introduction to CS :

Step II: Object-oriented programming language (Atleast one)

Step III: Master other programming languages

Step IV: Software Testing

Step V: Discrete Mathematics

Step VI: Algorithms and Data Structures:

Step VII: Operating Systems

Step VIII: UX Designing

Step IX: Artificial Intelligence

Step X: Compiler Construction

Step XI: Cryptography

Step XII: Parallel Programming

Step XIII: Contribute to Code Base and Projects

Step XIV: Practice

6. Books

A list of free books for those interested in Computer Science.

Following links will lead you to free downloadable and readable content in each subject.

7. Boot Camps

A wiki of computer science engineering bootcamps

> 24 Weeks

< 24 Weeks

11–12 Weeks

8–10 Weeks

6 Weeks

5 Weeks

4 Weeks

1 Week

8. Scholarships!

In the quest for learning, there maybe a financial limitation, as a result it may become difficult for an aspirant to pursue their dreams. So we have compiled resources of scholarships for you.

  1. AACE International Competitive Scholarships
  2. ExCel Scholarship
  3. CyberCorps Security Scholarship
  4. Xerox Minority Scholarship
  5. Sarder Scholarship
  6. SMART Scholarship
  7. AFCEA Cyber Security Scholarship
  8. Electronic Document Systems Foundation Scholarship
  9. Anita Borg Memorial Scholarship Sponsored by Google
  10. EDSF Scholarship
  11. Ford Motor Tribal Scholarship
  12. Catching The Dream Scholarship
  13. ESA Foundation
  14. Betty Stevens Frecknall Scholarship
  15. National Security Agency Scholarship
  16. Dell Scholarship
  17. SWE-GGS Scholarship
  18. Wayne V. Black Scholarship
  19. Stokes Educational Scholarship
  20. Horizons Scholarship
  21. Ralph W. Shrader Scholarship
  22. IEEE Scholarship
  23. Lockheed Martin Scholarship
  24. Microsoft Scholarship
  25. Banatao Scholarship
  26. Dr. Robert W. Sims Scholarship
  27. GET-IT Scholarship
  28. Henry Beckman Scholarship
  29. Hoku Scholarship
  30. Lambeth Family Scholarship
  31. Admiral Grace Murray Hopper Scholarship
  32. Intel Scholarship
  33. Citigroup Scholarship
  34. General Mills Scholarship
  35. Honeywell International Scholarship
  36. Marathon Oil Scholarship
  37. IBM Scholarship
  38. Lucy Kasparian Aharonian Scholarship
  39. HENAAC Scholars Program
  40. Northrop Grumman Scholarship
  41. Paul and Ellen Ruckes Scholarship
  42. Scott Tarbell Scholarship
  43. AFCEA ROTC Scholarship
  44. AWC Scholarship
  45. Upsilon Pi Epsilon Scholarship
  46. Richard E. Merwin Scholarship
  47. Lance Stafford Larson Scholarship
  48. ARA Scholarship
  49. National Laboratory Scholarship
  50. West Virginia Scholarship

8. Computer Science Podcasts

You can learn the basics and keep up with the latest news in computer science engineering by listening to these great podcasts.

10. Projects around the globe.

1) Computer scientists and engineers have long dreamed of harnessing DNA’s tininess and resilience for storing digital data. The idea is to encode all those 0s and 1s into the molecules A, C, G, and T that form the twisted, ladder-shaped DNA polymer — and this decade’s advances in DNA synthesis and sequencing have bought the technology forward by leaps and bounds. Recent experiments indicate that we might one day be able to encode all the world’s digital information into a few liters of DNA — and read it back after thousands of years. Microsoft Research announced last month that it would pay synthetic biology start-up Twist Bioscience an undisclosed amount to make 10 million DNA strands designed by Microsoft’s computer scientists to store data. Top memory manufacturer Micron Technology is also funding DNA digital storage research to determine whether a nucleic acid–based system can expand the limits of electronic memory. This influx of money and interest could lead to research and progress that eventually drive down today’s prohibitively high costs and make DNA data storage possible within the decade, researchers say.

2) China launched the world’s first quantum satellite on 16 August. The Quantum Experiments at Space Scale (QUESS) satellite, which lifted off from the Jiuquan Satellite Launch Center in northern China at 1:40 a.m. local time, successfully entered orbit at an altitude of 500 kilometres. Quantum communications are secure because any tinkering with them is detectable. Two parties can communicate secretly — by sharing a encryption key encoded in the polarization of a string of photons, say — safe in the knowledge that any eavesdropping would leave its mark.

3) Aquila is a solar-powered airplane that can be used to bring affordable internet to hundreds of millions of people in the hardest-to-reach places. When complete, Aquila will be able to circle a region up to 60 miles in diameter, beaming connectivity down from an altitude of more than 60,000 feet using laser communications and millimeter wave systems. Aquila is designed to be hyper efficient, so it can fly for up to three months at a time. The aircraft has the wingspan of an airliner, but at cruising speed it will consume only 5,000 watts — the same amount as three hair dryers, or a high-end microwave.

9. Conversations With 3 Experts

Here are a few excerpts from my conversations with 3 experts, who work in Computer Science Engineering discipline every day at work and graduated in the 90s and 00s.

a. Conversation with Srishti Sethi | Learning Technology Designer/ Developer at MIT Media Lab

I am primarily interested in designing tools that could support teaching and learning. My passion lies in designing online learning environments that could foster the spirit of community-based learning or help create opportunities for people from underrepresented groups.

At the Media Lab, I am part of the Learning Over Education Initiative, that seeks to develop new technologies for creative learning.

b. Conversation with Nivedita Arora | Research Intern at Intel Labs

Computer science for me is an interdisciplinary tool which I can apply to as many places as I can and most important thing that I would like to emphasis is that computer science is “empowering tool”.

I am exploring various aspects of computer science which ranges from wearable to non-immersive brain wave interaction. Brain has approximately 10¹² neurons and 10¹⁵ sinopsis using 2 Watts of power but if we just translate this architecture to hardware that would use 20 gigahertz which accounts half of singapore’s energy in a day. Brain does approximate calculation on contrary to hardware devices which do accurate calculation to take decisions. This approximation algorithms is the new future into the brain wave interaction discipline of computer science.

I believe that everyone has the curiosity embedded into themselves and everyone can make a dent in this world. I encourage everyone to try and explore to make their own things by not necessarily being entrepreneur but one can take up research or job and using computer science as a hammer which could bend quite many nails of multidisciplinary problem statements around the globe.

c. Conversation with Parita Pooj | Associate Developer SAP Labs

Computer science comprises of different worlds which involve different core subjects of computer engineering. These worlds are tools which can be extended to multiple disciplines to solve varied problems and questions. At the very base of computer science is development of logic and problem solving which is fundamental and extremely important not just in any discipline but every aspect of life.

Algorithms is a core subject related to computer science and builds up a base that supports your outlook and problem solving ability in any other discipline in engineering.

Currently I am working in the area of computer databases and computer imaging. This area can be explained in simpler terminology as storage of correlation and information of image rather than just pixel so that you can perform computation on top of it to retrieve intelligent information.

About The Author — Venali Sonone | Content Writer at Connectedreams.com | Veermata Jijabai Technical Institute, Mumbai

Expand Circles. Dream Big. Connect Beyond Hyper-Local.

Connectedreams.com is an online data-driven, cultural context-aware networking platform, bridging the role model & mentorship gap.

*Request an Invitation or Follow us on Facebook and Medium to get weekly updates on useful professional resources to advance your career.

--

--

--

Connectedreams.com: Data-Driven Networking Platform, Bridging The Mentorship & Role Model Gap.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Connectedreams.com

Connectedreams.com

Bridging The Mentorship Gap.

More from Medium

How I got my internship at Microsoft — interview process and learning

My 2nd week in Computer Science: How to learn “how to learn software engineering”

ANALYTICS OF SORTING ALGORITHMS

How to get your first job as a Computer Science Graduate