MS Software Engineering Self-Assessment
A bachelor’s degree in computer science or computer engineering provides appropriate preparation. Applicants with related undergraduate degrees and appropriate work experience may be admitted if their credentials collectively indicate an ability to succeed in the coursework.
The information below details the prior knowledge/skills needed for success in this program.
Education/Work Experience
- Do you have a bachelor’s degree in computer science or computer engineering? Alternatively, do you have work experience that includes plenty of software development, whether for your own use or others?
Foundational Topics
- Do you have a working knowledge of relevant software engineering topics, such as algorithms, data structures, microprocessors, and operating systems?
-
Do you have a solid background in mathematics, including in some or all of calculus, linear algebra, discrete mathematics, and probability and statistics?
- Note that discrete mathematics and probability are key items in this list.
- Do you have substantial experience with several programming languages?
- Have you developed, maintained, deployed, or supported a software application?
Skills and Tools
- Required: Proficiency with Python and C++
-
Depending upon your area of interest within software engineering:
- Databases and SQL
- Machine learning packages such as PyTorch and scikit-learn
- MATLAB
- Computer networking and modeling
- Multithread/process programming toolkits such as MPI, pthreads, and OpenMI
- A hardware programming language such as Verilog
Career Goals
- Become a subject matter expert in your area of interest.
- Lead others in the development of software systems.
- Make significant contributions to open-source projects.