Computer Science VS Software Engineering / Definition on 2019

Hey everyone! My name is YK, and I’m currently running CS Dojo, a programming education YouTube channel with 200,000+ subscribers. I was also formerly a software developer at Google.


Two of the most common questions my audience asks me are:

“What’s the difference between Computer Science and Software Engineering majors?”
And…

“Should I choose Computer Science or Software Engineering if I want to become a software engineer?”
In this article, I’ll answer this and give you my own quick analysis on these majors.

A quick overview of these two majors
Computer Science is the study of how computers work, mostly from the theoretical and mathematical perspective.
You should choose Computer Science if you like math, logic, or if you want to get into a specialized field in CS such as artificial intelligence, machine learning, security, or graphics.

Software Engineering is the study of how software systems are built, including topics such as project management, quality assurance, and software testing.
You should choose Software Engineering if you are more interested in the hands-on approach, and if you want to learn the overall life cycle of how software is built and maintained.
Both Computer Science and Software Engineering teach fundamentals of programming and computer science, so you can choose either one to become a software developer.
To understand the difference between Computer Science and Software Engineering majors, let’s take a look at their respective curriculum at Univers

Courses after the first year:

How about the required and elective courses after the first year? Let’s take a look at several examples here:

Computer Science:

  • MATH 239 Introduction to Combinatorics
  • STAT 230 Probability
  • STAT 231 Statistics
  • CS 240 Data Structures and Data Management
  • CS 241 Foundations of Sequential Programs
  • CS 245 Logic and Computation
  • CS 246 Object-Oriented Software Development <- not required in for Software Engineering majors
  • CS 251 Computer Organization and Design
  • CS 341 Algorithms
  • CS 350 Operating Systems
  • Plus, several Computer Science electives

Software Engineering:

  • CHE 102 Chemistry for Engineers
  • ECE 222 Digital Computers (includes assembly language)
  • ECE 358 Computer Networks
  • MATH 213 Advanced Mathematics for Software Engineers
  • MATH 239 Introduction to Combinatorics
  • STAT 206 Statistics for Software Engineering
  • MSCI 261 Engineering Economics: Financial Management for Engineers
  • CS 241 Foundations of Sequential Programs
  • CS 240 Data Structures and Data Management
  • CS 247 Software Engineering Principles <- not required for Computer Science majors
  • CS 341 Algorithms
  • CS 349 User Interfaces <- not required for Computer Science majors
  • CS 343 Concurrent and Parallel Programming <- not required for Computer Science majors
  • CS 348 Introduction to Database Management
  • SE 212 Logic and Computation
  • SE 350 Operating Systems
  • SE 465 Software Testing and Quality Assurance
  • SE 464 Software Design and Architectures
  • SE 463 Software Requirements Specification and Analysis
  • SE 490 Design Project
So How is The Best :
The key difference are that:

Software Engineering : has more requirements in electrical engineering and software engineering fundamentals, such as software testing, design, and software requirements specification.
Computer Science : allows more electives in higher-level computer science courses. You can choose from a wide range of topics such as security, software engineering fundamentals, computer vision, machine learning, and database management.

So, which major should you choose?

I think it mostly depends on your preferences. In short:
  • You should choose Computer Science if you like math, logic, or if you want to get into a specialized field in CS such as artificial intelligence, machine learning, security or graphics.
  • You should choose Software Engineering if you’re more interested in the hands-on approach, and if you want to learn the overall life cycle of how software is built and maintained.
Share on Google Plus

About ana05

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét