2024-2025 Academic Catalog 
    
    Dec 03, 2024  
2024-2025 Academic Catalog

Computer Science, MSCS


Return to {$returnto_text} Return to:

Master of Science in Computer Science Overview


Computer science professionals are critical to ensure the continued growth of technological innovation in today’s fast-paced, technology-driven world. There is an increased need and demand for professionals with expertise in developing systems optimized for performance and business impact.

Demand is high for practitioners with the necessary mix of competencies - technical and leadership - required in management and senior-level positions. Clark University’s Master of Science in Computer Science (MSCS) program distinguishes itself in the academic marketplace by equipping you with the credentials and tools to solve complex technological challenges, understand data structures, and the value they bring to all types of organizations and immediately apply them to your career.

Our outcome-focused, rigorous curriculum emphasizes core computer science competencies, while also exploring areas like machine learning, data mining, human computer interaction, mobile computing, and cybersecurity. We emphasize skills-based education, coupled with the ability to “tell a story with data,” increasing your impact on the business.  

With easy access to an additional portfolio of potential electives, providing expertise in Cybersecurity, and IT Architectures and Analytics, students can construct an educational experience that is uniquely focused on their own career aspirations, including pursuing concentrations in Data Intelligence, Human Computer Interaction (HCI), and Software Engineering.

Learning Outcomes

  • Analysis and Design of Algorithms: Design, analyze, and implement algorithms for real-world software applications. The focus is on the evaluation of space and time complexity for different algorithms utilized in software applications. 
  • Systems and Programming Languages: Evaluate various computing platforms, cloud services, containerized microservices, and programming languages to design and develop software applications in different domains.  Apply the design principles for building compute-intensive and data-intensive software applications utilizing modern computer hardware infrastructure, containers, and programming models. 
  • Software Engineering: Design and deliver holistic software solutions that demonstrate a comprehensive knowledge of software engineering principles and practices encompassing requirements elicitation, analysis, design, development, testing, cloud deployment, and methodologies.   
  • Ethics and Social Responsibility: Evaluate ethical considerations specific to computer science contexts, ensuring responsible conduct and positive societal impact in the development and implementation of software applications.
  • Communication: Develop proficiency in technical writing, teamwork, and presentations, showcasing the ability to communicate complex concepts through written documentation, collaborate effectively in teams, and deliver engaging presentations for diverse audiences.

Internship


Completion of an approved non-credit internship is required. Exceptions are available for those who qualify.  Please refer to our academic policies and visit a member of our Experiential Learning team for more information.

Course of Study


The MCSC degree requires ten (10) courses: four (4) core and six (6) electives.  Electives can be fulfilled by completing one of three concentrations (Data Intelligence; Human Computer Interaction; Software Engineering) plus two (2) courses from below “Electives” list or six (6) courses from the “Electives” list.

Core Requirements

 

List of Concentrations


Data Intelligence

The Data Intelligence concentration equips students with knowledge and technical skills to develop robust and effective approaches for collecting, maintaining, and extracting actionable insights from large datasets that permeate businesses and governments. The program focuses on the practical statistical approaches to data collection and analysis that enable students to become contributors from day one, while also educating students about regulatory and ethical frameworks that are expected of data professionals. Students learn and practice skills to effectively communicate technical results in a clear and accessible manner, which is critical to ensure that data-driven changes are implemented in organizations.

The concentration provides students a blend of theory and practice to prepare students for continuous success in the broad and dynamic field of data analytics. Furthermore, the program encourages debate on issues such as data privacy, changing regulatory landscape, efficient technical solutions and communication strategies, simulating the environment in today’s data-driven corporations.

Learning Outcomes:

  • Develop technical solutions for data warehousing using SQL Databases, ETL processes, XML and other data formats
  • Develop Python-based code to perform data intake and data scrubbing
  • Use Python-based code to perform Exploratory Data Analysis, data visualization, and build scalable and reusable models
  • Identify the appropriate models (A/B testing, linear regression, logit regression, clustering, decision trees, random forest) and success metrics for specific analytical goals and refine models’ accuracy based on the selected metrics
  • Present and explain the models and their predictions
  • Create a robust data analysis and data processing cycles to ensure compliance with changing regulations

Data Intelligence (Complete all 4)

MSCS 3045 - Applied Data Analytics  

MSDA 3040 - Fundamentals of Data Engineering  

MSDA 3050 - Applied Machine Learning  

MSCS 3295 - Advanced Data Intelligence Concepts  

Human Computer Interaction (HCI)

The Human-Computer Interaction concentration equips the students with knowledge and technical skills to design and develop user-centered software applications for products and services that are easy to interact with and have rich infographics. Students learn the persuasive design principles for User Interface (UI) and User Experience (UX) and the technologies to develop the user-centered solutions that integrate digital media and social media for digital transformation of business processes and the implementation of business strategies. Students also learn how to use modern technologies to execute online services and communicate content utilizing the digital public space. This concentration integrates concepts and methods from computer science, social science, artificial intelligence, data science, and graphic design.

Learning Outcomes:

  • User-Centered Design Proficiency: Apply user-centered design methods and digital media to proficiently generate digital content, create prototypes, design information, and enhance overall user experience.
  • Exploratory Interaction Interface Expertise: Build exploratory interaction user interfaces for the knowledge graph of social media by leveraging modern database systems and employing artificial intelligence methods.
  • UI and UX Development Skills: Develop User Interface (UI) and User Experience (UX) using contemporary programming languages, ensuring seamless and intuitive interaction for enhanced user satisfaction.
  • Low-Code/No-Code Proficiency: Utilize low-code/no-code tools for Exploratory Data Analysis, enhancing efficiency and agility in interface development.
  • Data-Driven Digital Transformation: Apply data-driven methods and digital media to drive the digital transformation of business processes and services, integrating insights from computer science, social science, data science, and graphic design.
  • Generative AI: Utilize generative AI models and large language models (LLM) to create embeddings and perform semantic searches.

 

Human Computer Interaction (Complete all 4)

MSDA 3060 - Data Visualization and Story Telling  

MSCS 3021 - Human Computer Interaction  

MSCS 3025 - Usability Engineering  

MSCS 3027 - Social Informatics  

Software Engineering

The Software Engineering concentration teaches students the software development processes, software development methodologies, software quality assurance and quality control, and software project management. The Software Engineering concentration prepares students to develop software products and effectively manage software projects.

Learning Outcomes:

  • Software Development Processes. Apply agile and traditional waterfall software development processes in the development of software products, continuous integration and continuous delivery (CI/CD) pipelines, and software configuration management.
  • Software Development Methodologies. Develop requirements specification, analysis, and design artifacts. Utilize the object-oriented development methods and technologies, modern software architectures and frameworks, design patterns, and Unified Modeling Language (UML) in the design and development of software products.
  • Software Quality Assurance and Quality Control. Create and execute the software testing plan and test cases. Collect and analyze the software product and process metrics for the improvement of defect removal effectiveness. Utilize modern test case automation tools to execute test cases. Review process maturity and quality management standards.
  • Software Project Management. Create the software project plan using different effort estimation techniques. Identify and select the software metrics used in the estimation of the size, cost, and schedule of the software projects. Build the skills to manage and lead the software development teams.
  • Software Systems and Platforms. Build on-premises software applications and containerized cloud-native microservices. Engineer software systems for responsiveness, reliability, availability, security, resilience, and scalability.

Software Engineering (Complete all 4):

MSCS 3250 - Software Design and Architecture  

MSCS 3252 - Software Project Management  

MSCS 3254 - Software Quality Assurance and Testing  

MSCS 3290 - Advanced Software Engineering Concepts  

Electives


  • Any MSCS, MSDA, or MSIT course

 

Return to {$returnto_text} Return to: