BECOME A SOFTWARE DEVELOPMENT LEADER

ONLINE MASTER’S IN COMPUTER SCIENCE (MSCS)

BECOME A SOFTWARE DEVELOPMENT LEADER

ONLINE MASTER’S IN COMPUTER SCIENCE (MSCS)

Tell Us About Yourself.

You’re Almost Done!

By providing my information and clicking the request info button, I agree to be contacted via email, phone, or text to learn more about the program selected above. Since this program is 100% online, Stevens Institute of Technology does not offer US visas to attend.

Ranked No. 8 in the nation for “Best Online Master’s in Computer Information Technology Programs” in 2022 by U.S. News & World Report.

MSCS OVERVIEW

The computer science master’s program at Stevens Institute of Technology offers you a curriculum aligned with high-demand areas such as software development, web programming, mobile systems and applications, cloud computing, human-computer interaction and enterprise software design. As a computer science student, you will engage in coursework that fosters technical proficiency in the leading industry tools, including:

Java, Python, and C++

Enterprise software design and engineering

Mobile application development and cloud computing

Agile development methods

Algorithm design and testing

Machine learning in support of providing software development leaders and high-quality coders

QUICK FACTS

TERM START DATE

FALL 2023: September 11, 2023

OVERVIEW

  • 30 Credit Hours
  • 10 Courses
  • 100% Online
  • 2 Years or Less Completion Time*

*Total time to complete the program may vary based on the number of credits taken each semester.

97%

EMPLOYMENT

97% of MSCS graduates in the Class of 2021 accepted job offers within three months of graduating.*

No. 1

IN N.J.

No. 1 in New Jersey for Best Online Master’s in Computer Information Technology Programs by U.S. News & World Report (2022).

7x

WINNER

Winner of the U.S. Distance Learning Association’s 21st Century Award for Best Practices in Distance Learning.

No. 13

IN THE NATION

Stevens was named one of the Top 20 U.S. Private Schools for Best Career Placement by The Princeton Review (2022).

No. 14

FOR BEST VALUE

Ranked No. 14 among “Best Value Colleges” by Payscale (2021).**

*Based on data from 63% of spring 2021 full-time program graduates.

**Based on the cost of a four-year bachelor’s degree program.

COURSEWORK

Below are the Traditional and Advanced course sequences for the computer science master’s program. Students will engage in coursework on the following topics to develop skills as software development leaders and high-quality coders. The MSCS program consists of 30 credit hours, with 10 courses, and is 100% online.

TERM 1

This course introduces the Java programming language to students with little programming experience. It begins by covering fundamental concepts such as program structure and Java syntax and continues with data types, object-oriented programming, abstract classes and interfaces, control flow, exception handling, recursion, and event-driven programming. Students will write, compile and execute programs operating on arrays of data or strings, including programs with graphical user interfaces. Note: This is a foundational course to be taken by students who did not have the relevant background.

This course introduces the most commonly used data structures, as well as sorting algorithms, using the Java programming language. Data structures that are introduced and compared include arrays, lists, stacks, queues, trees, priority queues, and maps, such as hash tables. Relevant principles including encapsulation, interfaces and testing are presented along with the data structures, while asymptotic complexity analysis is also introduced. Students implement and test programs that use the above data structures in conjunction with algorithms such as insertion, selection, merge, and quick sort.

Note: This is a foundational course to be taken by students who did not have the relevant background.

TERM 2

This course will provide focus on more complex data structures, and algorithm design and analysis, using one or more modern imperative language(s). Topics include advanced and/or balanced search trees; hashing; further asymptotic complexity analysis; standard algorithm design techniques; graph algorithms; complex sort algorithms; and other “classic” algorithms that serve as examples of design techniques.

In this course, students will learn to develop complex system-level software in the C programming language while gaining an intimate understanding of the UNIX family of operating systems and their programming environment. Topics include the user/kernel interface, fundamental concepts of UNIX, user authentication, basic and advanced input/output (I/O), file systems, signals, process relationships, and interprocess communication. Fundamental concepts of software development and maintenance on UNIX systems will also be covered.

TERM 3

This course will provide an intensive introduction to material on computer organization and assembly language programming. Topics include structure of stored program computers; linking and loading; assembly language programming, with an emphasis on translation of high-level language constructs; data representation and arithmetic algorithms; basics of logic design; processor design: data path, hardwired control and microprogrammed control. Students will be given assembly language programming assignments on a regular basis.

This course will provide an introduction to the design and querying of relational databases. Topics include relational schemas; keys and foreign key references; relational algebra (as an introduction to SQL); SQL in depth; Entity-Relationship (ER) database design; translating from ER models to relational schemas and from relational schemas to ER models; functional dependencies; and normalization.

TERM 4

This course will provide focus on the use and internals of modern operating systems. Primary topics include the process concept; concurrency and how to program with threads; memory management techniques, including virtual memory and shared libraries; file system data structures; and input/output (I/O).

This course will provide students with a first strong approach of internet programming. It will give the basic knowledge on how the Internet works and how to create advanced web sites by the use of script languages, after learning the basics of HTML. In this course, the student will learn how to create a complex global site through the creation of individual working modules, providing them the interpersonal skills required in business settings such as team building and cooperation.

TERM 5

Personal computing is now mobile and cloud-based. Disconnected mobile computing challenges many of the assumptions underlying much of today’s distributed systems. “Cloud computing” provides a powerful background computing facility for mobile devices, but also raises important issues of trust and privacy. Many of these issues arise in critical yet sensitive domains such as electronic healthcare delivery. Mobile computing applications are location-aware or context-aware; the privacy implications of these applications are profound. Mobile, and increasingly location aware, gaming systems are now one of the largest sectors of the world entertainment industry. The purpose of this course is to review the fundamentals of mobile systems and applications, and how they relate to services in the cloud. The course will review material from wireless communication, distributed systems, and security and privacy, as they pertain to the systems being studied. The course will involve programming mobile apps using a popular mobile computing platform, such as Android or iPhone, to get hands-on experience with the concepts being discussed in the class.

An introductory course for machine learning theory, algorithms, and applications. Content aims to provide students with the knowledge to understand key elements of how to design algorithms/systems that automatically learn, improve, and accumulate knowledge with experience. Topics covered in this course include decision tree learning, neural networks, Bayesian learning, reinforcement learning, ensembling multiple learning algorithms, and various application problems. Students will be provided opportunities to simulate their algorithms in a programming language and apply them to solve real-world problems. Cross-listed with: EE 695.

TERM 1

This course will provide focus on more complex data structures, and algorithm design and analysis, using one or more modern imperative language(s). Topics include advanced and/or balanced search trees; hashing; further asymptotic complexity analysis; standard algorithm design techniques; graph algorithms; complex sort algorithms; and other “classic” algorithms that serve as examples of design techniques.

The objective of this course is to give students a basic grounding in designing and implementing distributed and cloud systems, including issues in the implementation of backend services in the cloud itself. What are global consensus and Paxos, and what is their application in building cloud systems? What are the advantages and disadvantages of using distributed NoSQL stores such as Cassandra instead of relational stores such as MySQL? What are strong and weak consistency, what are the “CAP Theorem” and the “CALM Theorem,” and what are their implications for building highly available services? What is a blockchain, such as the Bitcoin blockchain, and how does it relate to issues in coordinating distributed systems? What are the roles of REST, Websockets, and stream processing in cloud applications? This course will combine hands-on experience in developing cloud services, with a firm grounding in the tools and principles for building distributed and cloud applications, including advanced architectures such as peer-to-peer and publish-subscribe. Besides cloud services, we will also be looking at cloud support for batch processing, such as the Hadoop framework, and its use with NoSQL data stores, such as Cassandra.

TERM 2

This course will provide an intensive introduction to material on computer organization and assembly language programming. Topics include structure of stored program computers; linking and loading; assembly language programming, with an emphasis on translation of high-level language constructs; data representation and arithmetic algorithms; basics of logic design; processor design: data path, hardwired control and microprogrammed control. Students will be given assembly language programming assignments on a regular basis.

This course will provide an introduction to the design and querying of relational databases. Topics include relational schemas; keys and foreign key references; relational algebra (as an introduction to SQL); SQL in depth; Entity-Relationship (ER) database design; translating from ER models to relational schemas and from relational schemas to ER models; functional dependencies; and normalization.

TERM 3

This course will provide focus on the use and internals of modern operating systems. Primary topics include the process concept; concurrency and how to program with threads; memory management techniques, including virtual memory and shared libraries; file system data structures; and input/output (I/O).

This course will provide students with a first strong approach of internet programming. It will give the basic knowledge on how the Internet works and how to create advanced web sites by the use of script languages, after learning the basics of HTML. In this course, the student will learn how to create a complex global site through the creation of individual working modules, providing them the interpersonal skills required in business settings such as team building and cooperation.

TERM 4

Personal computing is now mobile and cloud-based. Disconnected mobile computing challenges many of the assumptions underlying much of today’s distributed systems. “Cloud computing” provides a powerful background computing facility for mobile devices, but also raises important issues of trust and privacy. Many of these issues arise in critical yet sensitive domains such as electronic healthcare delivery. Mobile computing applications are location-aware or context-aware; the privacy implications of these applications are profound. Mobile, and increasingly location aware, gaming systems are now one of the largest sectors of the world entertainment industry. The purpose of this course is to review the fundamentals of mobile systems and applications, and how they relate to services in the cloud. The course will review material from wireless communication, distributed systems, and security and privacy, as they pertain to the systems being studied. The course will involve programming mobile apps using a popular mobile computing platform, such as Android or iPhone, to get hands-on experience with the concepts being discussed in the class.

An introductory course for machine learning theory, algorithms, and applications. Content aims to provide students with the knowledge to understand key elements of how to design algorithms/systems that automatically learn, improve, and accumulate knowledge with experience. Topics covered in this course include decision tree learning, neural networks, Bayesian learning, reinforcement learning, ensembling multiple learning algorithms, and various application problems. Students will be provided opportunities to simulate their algorithms in a programming language and apply them to solve real-world problems. Cross-listed with: EE 695.

TERM 5

In software problem areas that require exploratory development efforts, those with complex requirements and high levels of change, agile software development practices are highly effective when deployed in a collaborative, people-centered organizational culture. This course examines agile methods, including Extreme Programming (XP), Scrum, Lean, Crystal, Dynamic Systems Development Method and Feature-Driven Development to understand how rapid realization of software occurs most effectively. The ability of agile development teams to rapidly develop high quality, customer-valued software is examined and contrasted with teams following more traditional methodologies that emphasize planning and documentation. Students will learn agile development principles and techniques covering the entire software development process from problem conception through development, testing and deployment, and will be able to effectively participate in and manage agile software developments as a result of their successfully completing this course. Case studies and software development projects are used throughout.

This is an introduction to Human Computer Interaction (HCI). It covers basic concepts, principles, and frameworks in HCI; models of interaction; and design guidelines and methodologies. The course includes extensive readings and reports, as well as work on projects involving interface design and development.

CAREER OUTLOOK

Prospective Occupations for MSCS Graduates

Job Title
Employed
Median Annual Earnings
Job Title Computer and Information Systems Manager
Employed 467,000
Median Annual Earnings $151,000
Job Title Computer and Information Research Scientist
Employed 33,000
Median Annual Earnings $127,000
Job Title Computer Network Architect
Employed 161,000
Median Annual Earnings $117,000
Job Title Software Developer and Software Quality Assurance Analyst and Tester
Employed 1,548,000
Median Annual Earnings $110,000
Job Title Information Security Analyst
Employed 145,000
Median Annual Earnings $104,000
Job Title Computer Systems Analyst
Employed 583,000
Median Annual Earnings $94,000
Job Title Web Developer or Digital Interface Designer
Employed 158,000
Median Annual Earnings $77,000

Source: Lightcast Labor Market Data, 2021. Numbers rounded to the nearest thousand.

MSCS ALUMNI HAVE GONE ON TO BE EMPLOYED AT ORGANIZATIONS SUCH AS:

AMAZON

META

IBM

BANK OF AMERICA

GOOGLE

JPMORGAN

PROGRAM ADMISSION REQUIREMENTS

BACHELOR’S DEGREE

Minimum GPA of 3.0 from an accredited institution. Degree required to begin the program; completion not required at time of application.

TWO LETTERS OF RECOMMENDATION

Faculty members and/or professional colleagues.

STATEMENT OF PURPOSE

Optional, but strongly recommended.

ACADEMIC TRANSCRIPTS

Applicants must submit transcripts from all undergraduate and graduate institutions where credit was earned. You may submit unofficial transcripts during the application process. After admission, you will be required to submit official transcripts.

TOEFL/IELTS/DUOLINGO SCORES

Required for international students.

RESUME

Optional, but strongly recommended.

TUITION & COST*

$1,864

Per Credit (30 Credits)

$60

Application Fee

Fee waivers available

$250

Enrollment Deposit

Financial Aid

*Tuition based on fall 2023 rates effective September 2023. Tuition and fees are subject to change annually. Additional program fees may apply.

Key Dates & Deadlines

Term
Early Submit
Priority Submit
Final Submit
Start of Classes
Fall 2023
May 23, 2023
$250 Deposit Waiver* and Application Fee Waiver Available.
June 27, 2023
Application Fee Waiver Available and Early Application Review.
August 1, 2023
September 11, 2023

*Applicants who apply by the early submit deadline and are admitted may be eligible for a $250 deposit waiver. Applicants who receive education assistance from employers or other tuition discounts are not eligible. Other eligibility conditions may apply.

UPCOMING WEBINARS

Attendees will receive an application fee waiver.

Check back soon for more upcoming events.

FACULTY

Our faculty includes National Science Foundation (NSF) CAREER winners as well as researchers who consult for companies such as Microsoft, IBM, Google, Bell Labs and other top industry firms.

A professional headshot of Stevens faculty member, Shudong Hao

Shudong Hao

Teaching Assistant Professor and Associate Chair for Graduate Studies in the Department of Computer Science
Reza Peyrovian

Reza Peyrovian

Senior Lecturer
Patrick Hill

Patrick Hill

Lecturer
Dominic Duggan

Dominic Duggan

Associate Professor
Samuel Kim

Samuel Kim

Teaching Professor

“When I looked at the StevensOnline MSCS program, I liked that it gave students more opportunities to explore different areas of computer science. We started with Java and data structure and built from there. I think it’s nice that the program teaches foundational skills you can use in many branches of computer science.”

Rojona Feliciano ’22

A headshot of Rojona Feliciano, an MSCS student at Stevens

Request Information

By providing my information and clicking the request info button, I agree to be contacted via email, phone, or text to learn more about the program selected above. Since this program is 100% online, Stevens Institute of Technology does not offer US visas to attend.