Computer Science vs Software Engineering: Key Differences

  • Computer science involves the design and understanding of computational processes, while Software engineering is a process of analyzing, designing, building, and testing software applications.
  • Computer Science studies how computers perform theoretical and mathematical tasks, whereas Software Engineering studies how software systems are built.
  • you should select Computer Science to learn about AI and machine learning, while you should select Software Engineering to learn about the overall working of the specific software.
  • Students of software engineering can take courses on project management while it is often included in the computer science curriculum.

What is Computer Science?

Computer science is a discipline that involves the design and understanding of computers and computational processes. It is a broad scientific topic. It includes the study of how data is processed, the security of networks, organizing databases, artificial intelligence, etc.

Much like other forms of science, computer science takes an abstract approach to computers and computer programming. It explores how computers work in terms of algorithms and the computations that process which manipulate data with theories. Below is a key difference between Computer Science vs Software Engineering.


What is Software Engineering?

Software Engineering is a process of analysing user requirements and then designing, building, and testing software application which will satisfy those requirements.

It deals with creating new software that would be used in the real world. You would be required to work with a team to build a new application that your end-users would find beneficial.

Difference Between Software Engineering and Computer Science

Here are the important differences between Software Engineering vs Computer Science:

ParameterSoftware EngineeringComputer Science
DefinitionSoftware engineering is defined as a process of analyzing user requirements and then designing, building, and testing software applications.Computer science is a discipline that involves the design and understanding of computers and computational processes.
MeaningsSoftware Engineering is a study of how software systems are built.Computer Science is the study of how computers perform theoretical and mathematical jobs.
SelectionYou should choose Software Engineering if you want to learn the overall life cycle of how specific software is built and maintained.You should choose Computer Science if you want to get into a specialized field in CS like artificial intelligence, machine learning, security, or graphics.
Project managementStudents of software engineering will likely take courses on project management, both in undergraduate and graduate programs.Project management is often included in the computer science curriculum. Mostly as part of a software engineering course.
Course includeIn Software Engineering, you will also learn programming languages and general computing principles.Computer science students will study how data is stored, processed, and applied on various other computing devices.
ScopeEmerging occupations related to software engineering depend on the state of software and technology in the future.It is a field of computer science which also includes careers in cloud computing and AI technology.
DeveloperThe average salary for a computer scientist is $103,643 per year in the United States.The average salary for a software engineer is $107,932 per year.

Why need Software Engineering?

Here, are reasons for using software engineering method:

  • It allows you to improve the quality of the software products.
  • To increase productivity
  • Provide job satisfaction to software professionals.
  • It will enable you to control software schedules and to plan effectively.
  • It helps to reduce the cost of software development.
  • Allow you to meet the customers’ needs and requirements.
  • It helps you to support the engineers’ activities systematically and efficiently.

Why need Computer Science?

Here, are reasons for using Computer science:

  • It is internationally recognized for its excellence in research, learning, and engagement with industry.
  • Helps you to study basic computer fundamental mathematically and logically.
  • Gives in-depth knowledge about the actual functioning of the computer

Challenges of Software Engineering

Here are some important challenges of Software Engineering:

  • In safety-critical areas such as space, aviation, nuclear power plants, etc. the cost of software failure can be massive because lives are at risk.
  • Increased market demands for fast turnaround time.
  • The diversity of software systems should be communicating with each other.

Challenges of Computer Science

Here are some important challenges of Computer Science:

  • The Internet s infrastructure will need to be updated to match the’ New Internet.
  • More customers are using mobile apps, so empathizes on mobile platforms and cloud services is important.
  • In 2020. 100-billion objects will be connected to the Internet
  • Professionals rated data leaks and exposure of sensitive information as the highest concern

Best Practice of Software Engineering

Here are some best practices for software engineers:

  • Software engineers should act in such a way that it is beneficial to the client as well as the employer.
  • Allows you to software products and related modifications that should meet the highest professional standards.
  • It helps you to maintain integrity and independence in their professional approach.
  • Promote an ethical approach for software development and maintenance.

Best Practice of Computer Science

Here are some critical best practices for Computer Science professionals:

  • Make incremental changes.
  • Optimize software only after It works correctly.
  • Document design and purpose, not mechanics.
  • Collaborate.

Which is better? Computer Science or Software Engineering?

Both are the best in their own aspects. However, you should opt for the Software engineering if you are interested in software testing, software development and overall software life cycle or you can opt for Computer Science if you have an interest in artificial intelligence, machine learning, security, database management, etc.



Addis Ababa Universty Software Engineering

List of courses

#Modules NumberModule TitleECTSCourse CodeCourse TitleECTSCr.Hr.
01EnLa-M1013Basic English Skills10EnLa-1011Communication English53
EnLa-1012Basic Writing Skills53
02CESt-M1023Civics and Ethics Education5CESt-1023Civics and Ethical Education53
03PHIL-M1033Introduction to Logic5PHIL-1033Introduction to Logic53
04GEng-M1043Applied Engineering Mathematics14Math-1041Applied Mathematics I74
Math-1042Applied Mathematics II74
05GEng-M1053Engineering Mechanics12CEng-1051Engineering Mechanics I (Statics)63
MEng-1052Engineering Mechanics II (Dynamics)63
06GEng-M1063Basic Engineering Skills8GEng-1061Introduction to Engineering Profession21
MEng-1062Engineering Drawing63
07ITSE-M2211Information Technology Fundamentals7ITSE-1071Fundamentals of Information Technology74
08ITSE-M5511Human Computer Interaction7ITSE-3081Fundamentals of Human Computer Interaction74
09ITSE-M7811Information Assurance and Security14ITSE-4091Fundamentals of IT Security74
ITSE-4092Advanced IT Security74
10ITSE-M4511Networking21ITSE-2121Fundamentals of Networking74
ITSE-2122Mobile Programming74
ITSE-3123Advanced Mobile Programming74
11ITSE-M2411Programming Fundamentals I14ITSE-1131Fundamentals of Computer Science and Programming74
ITSE-2131Fundamentals of Data Structures and Algorithms74
12ITSE-M2411Programming Fundamentals II14ITSE-2132Object-Oriented Programming I74
ITSE-3133System Programming74
13ITSE-M8811Social and Professional Issues12ITSE-4182Social Networks63
ITSE-4181Ethics and Professionalism63
14ITSE-M4811Web Systems and Technologies I13ITSE-2192Fundamentals of Web Design and Development74
ITSE-2191Graphics and Multimedia I63
15ITSE-M4812Web Systems and Technologies II13ITSE-3193Web Programming I74
ITSE-4194RAD Web Development I63
16ITSE-M4812System Integration and Architecture24ITSE-2211Software Engineering I (Software Modeling & Analysis)63
ITSE-3212Software Engineering II (Software Design, Verification & Validation)63
ITSE-4213Software Quality Assurance and Testing63
ITSE-4214Software Project Management63
17ITSE-M3311Information Management14ITSE-2221Fundamentals of Database74
ITSE-5222Distributed and Object Database74
18ITSE-M3321Math and Statistics for IT12ITSE-2231Discrete Mathematics63
ITSE-4232Linear Programming63
19ITSE-M5911Advanced Programming I14ITSE-3241Object-Oriented Programming II74
ITSE-3242System Programming74
20ITSE-M5912Advanced Programming II13ITSE-5243Distributed Systems Programming74
ITSE-5244Algorithm Design and Analysis63
21ITSE-M2911Platform Technologies I20ITSE-3251Digital Logic Design74
ITSE-3252Computer Architecture and Organization63
ITSE-3253Operating Systems74
22ITSE-M2912Platform Technologies II24ITSE-4254Microcomputers63
ITSE-5256Introduction to Robotics63
ITSE-5257FPGA Programming63
23ITSE-M3711Systems and Application Specialties12ITSE-1261Fundamentals of Electrical Circuits63
ITSE-2262Fundamentals of Electronics63
24ITSE-M911Project14ITSE-5271Project I74
ITSE-5272Project II74
25ITSE-M5581Electives12 Elective I63
 Elective II63

Addis Ababa Universty Computer Science

Core modules

Module CodeModule NameCourse CodeCourses in a ModuleCredit hrs.ECTS 
CoSc-M1011Basic ProgrammingCoSc1011Introduction to Computer Science46 
CoSc1012Fundamentals of Programming I35 
CoSc1013Fundamentals of Programming II35 
CoSc- M3051Database SystemsCoSc3051Fundamentals of Database46 
CoSc3052Advanced Database System46 
CoSc -M4171Computer SecurityCoSc4171Computer Security35 
CoSc-M2041Computer NetworkingCoSc2041Computer Networking & Data  Communication46 
  CoSc2043Wireless Communication and Mobile Computing35 
  CoSc2042Network and System Administration35 
CoSc -M3091Web DevelopmentCoSc3091Internet Programming47 
CoSc- M2021Advanced ProgrammingCoSc2021Object Oriented Programming46 
CoSc2022 Data structures and Algorithms46 
  CoSc2023Advanced Programming46 
CoSc -M2031Computer Architecture andOperating SystemsCoSc2031Computer organization and architecture35 
CoSc2032Operating System46 
CoSc2033Microprocessor and Assembly Language Programming35 
Computer Graphics andHCI
CoSc3101Computer Graphics35 
  CoSc3102Human Computer Interaction35 
CoSc-M3071System DevelopmentCoSc3071Fundamentals of Software Engineering35 
CoSc3072Object Oriented Software Engineering35 
CoSc–M4111Algorithms  and ComplexityCoSc4111Analysis of Algorithms35 
CoSc4112Complexity Theory35 
CoSc-M3061Compiler DevelopmentCoSc3061Formal Language and Automata Theory35 
CoSc3062Compiler Design46 
CoSc-M3081Intelligent SystemsCoSc3081Introduction to Artificial Intelligence46 
CoSc-M4121ProjectCoSc4121Technical Report Writing in Computer Science24 
CoSc4122Final Project I46 
CoSc4123Final Project II46 
CoSc-M4141Selected TopicsCoSc4141Selected topics in Computer Science35 
CoSc-M4161Distributed SystemsCoSc4161Int. to Distributed Systems35 
Program Total102163 


Elective Module

Courses in a ModuleCredit hrs.EtCTS
Elective I (one course)35
Elective II (one course)35


Elective I
No.Course CodeCourse titleCreditCP
 CoSc4151System Programming35
 CoSc4152Introduction to Neural Network35
 CoSc4154Industrial Practice35
 CoSc4155Computer Vision and Image processing35
Elective II
No.Course CodeCourse titleCreditCP
 CoSc4156Real –time and Embedded Systems35
 CoSc4157Int. to Data mining and Warehousing35
 CoSc4158Windows Programming35
9.CoSc4159Simulation and Modeling35


General Education Modules


Module CodeModule NameCourse CodeCourses in a ModuleCredit hrs.EtCTS
EnLa- M1013Communication SkillsEnLa1011Communicative English Skills35
EnLa1012Basic Writing Skills35
CvEt –M1023Civics and EthicsCvEt1023 Civics and Ethics35
Phil-M1033Introduction to LogicPhil1033Introduction to Logic35


Supportive Modules


Module CodeModule NameCourse CodeCourses in a ModuleCredit hrs.EtCTS
Math- M2193Introduction to Linear AlgebraMath2191Introduction to Linear Algebra35
Math-M2021Basic CalculusMath2021Calculus I47
Math-M2233Discrete Mathematics and CombinatoricsMath2231Discrete Mathematics and Combinatorics35
Math-M3223Applied Numerical AnalysisMath3221Applied Numerical Analysis35
ECEG-M1359Electronics for Computer ScienceECEG1351Fundamentals of Electricity and Electronic Devices35
ECEG1352Digital Electronics35
Stat- M2183Statistics and ProbabilityStat2181Introduction to Statistics35
Stat2182Introduction to Probability35


This is default text for notification bar