Marquette online computer and information science curriculum

Decide where your career goes next with a program that puts you in control. The Master of Science in Computer and Information Science (CIS) covers a wide-ranging set of disciplines that includes computer science, computer engineering, software engineering, information systems and information technology. Our online graduate degree gives you the flexibility to build a course plan that focuses on the computing skills and knowledge that are relevant to you.

M.S. in Computer and Information Science career pathway course maps

Explore the following course maps for examples of how you could equip yourself with skills through Marquette computer and information science courses to prepare for the IT career you want. The CIS master’s curriculum allows for a high level of flexibility in choosing courses to meet your interests and professional goals.

These sample course maps reflect options for a non-career changer. Career changers must complete the Foundations of Computing course in their first term then proceed with the suggested courses below.

M.S. in CIS with Information Assurance and Cyber Defense (IACD) specialization

The IACD specialization is the only official specialization option for the CIS master’s and therefore requires 15 credits of core cybersecurity courses. Remaining credits can be earned via any electives of the student’s choosing.

36 credit hours total

Year 1 (19 Credits):

  • COSC 5360* Software and Systems Security (3 credit hours)
  • COSC 5800 Principles of Database System OR Elective (3 credit hours)
  • COSC 6050 Elements of Software Development OR Elective (3 credit hours)
  • COSC 6060 Parallel and Distributed Systems OR Elective (3 credit hours)
  • COSC 6550* Introduction to Cybersecurity (3 credit hours)
  • COSC 6560* Principles of Service Management and System Administration (3 credit hours)
  • COSC 6390 Professional Seminar (1 credit hour)

Year 2 (17 Credits):

  • COSC 5300* Network Design and Security (3 credit hours)
  • COSC 6280* Advanced Computer Security (3 credit hours)
  • COSC 6390 Professional Seminar (2 credit hours)
  • COSC 6931 Topics in Computer Science: Incident Response Elective (3 credit hours)
  • COSC 6964** Practicum for Research and Development in Computing OR Electives (6 credit hours total)
  • COSC 6998* Professional Project in Computer Science (0 credit hours)

*Required Information Assurance and Cyber Defense (IACD) Courses
**Students have the option to either take a 6-credit-hour practicum or 3-credit practicum and an additional 3-credit elective.

M.S. in Computer and Information Science course descriptions

Foundations course (career-changer pathways only)

COSC 6500: Foundations of Computing (7 credit hours)

Start with our Fundamentals of Computing course, a bootcamp experience that does not require any prior academic study in computing or programming experience.

Presents the breadth and current status of computer science in our computerized society and the fundamentals of professional knowledge, skills and abilities. Foundational topics are intermixed with study of software development which include an introduction to abstraction, algorithmic thinking, simulation and testing for computer-based problem-solving using higher-level programming languages. Algorithm analysis and computational complexity are presented in the context of considering data structures, algorithms and alternatives. Students program exercises using graphical user interfaces, database connections, parallel computing and interfaces to the World Wide Web (WWW). Experience includes using an interactive development environment, studying software development methodology, and testing code, basic system administration, computer networking and operating system configuration.

Electives (open to all pathways)

COSC 5290: Real-Time and Embedded Systems (3 credit hours)

Focuses on event-driven programming, real-time scheduling, and synchronization; worst-case execution time analysis and deadline analysis; real-time operating systems and real-time programming languages.

COSC 5300: Network Design and Security (3-4 credit hours)

Focuses on the design and protocols of the upper layers of the Internet architecture, including the TCP/IP protocol suite, packet switching and routing, network programming and applications. Emphasizes related security attacks and defenses, including DNSSEC, TSL, IPsec and the BGP PKI protections. Taught as a lecture only or as a lecture with a lab component.

COSC 5360: Software and System Security (3 credit hours)

Fosters comprehension of cybersecurity foundations such as cryptography, operating system security, threat modeling, and secure programming. Develops passion for cybersecurity essential to performance of professional roles as developers, engineers, and managers.

COSC 5370: Internet of Things (IoT) (3 credit hours)

Topics include the definition of IoT, trends in the adoption of IoT, the importance of the IoT in society, the current components of typical IoT devices and trends for the future. Focuses on IoT design considerations, constraints and interfacing between the physical world and the device. Students are presented with design trade-offs between hardware and software, technologies behind the Internet of Things–RFID, NFC, Wireless networks, WSN, RTLS, GPS, agents, multiagent systems, IoT in retail, NFC applications for the IoT, and IoT in healthcare.

COSC 5400: Compiler Construction (3 credit hours)

Lexical analysis, parsing, code generation and optimization. Includes theoretical foundations and the practical concerns of implementation.

COSC 5500: Visual Analytics (3 credit hours)

Focuses on developing data products using the Javascript/D3 framework by combining concepts from human-computer interaction, visualization and design. Also focuses on model visualization, interpretation, A/B testing and design thinking.

COSC 5600: Fundamentals of Artificial Intelligence (3 credit hours)

An introduction to the broad field of artificial intelligence. Topics include problem-solving by searching, knowledge representation, reasoning, planning, decision-making, learning, perception and language processing.

COSC 5610: Data Mining (3 credit hours)

Techniques for extracting and evaluating patterns from large databases. Introduction to knowledge discovery process. Fundamental tasks including classification, prediction, clustering, association analysis, summarization and discrimination. Basic techniques including decision trees, neural networks, statistics, partitional clustering and hierarchical clustering.

COSC 5800: Principles of Database Systems (3 credit hours)

May count toward IACD elective for specialization students.

Topics include database concepts and architecture, data modeling, formal query languages such as relational algebra, commercial query language SQL, database access from application programs and a brief examination of advanced concepts including transactions, distributed databases, security and XML.

COSC 5860: Component-Based Software Construction (3 credit hours)

Introduction to software components in the context of the object-oriented paradigm. Component development, component selection and adaptation/customization, component deployment and assembly/integration, and system architecture. Industry standards such as JavaBeans, CORBA Component Model, and Microsoft COM/DOM/COM+.

COSC 5931: Topics in Computer Science (1-3 credit hours)

Topics selected from one of the various branches of computer science. Specific topics to be announced in the schedule of classes.

COSC 6050: Elements of Software Development (3 credit hours)

Students explore the software design and development processes through a term project. Concepts covered include: requirements gathering and analysis, mapping requirements to a design, sound coding and documentation practices, configuration management, testing and quality assurance, system deployment and maintenance. Prerequisite: Programming in a high-level language, knowledge in data structures such as stacks, recursion, queues, trees and graphs.

COSC 6055: Software Quality Assurance (3 credit hours)

Provides a perspective on people, organizations, controls, processes and tools that collectively influence the success of a Software Quality Assurance (SQA) strategy. Discussion topics include quality approaches as they apply to: requirements, design, release, configuration management, testing, defect management, operations and support. Topics are discussed in the context of a traditional development approach (waterfall, CMMI) and more contemporary models driven by lean and agile practices. Covers considerations specific to implementing an SQA approach within a regulated setting. Approach emphasizes a hands-on view of SQA, thereby providing realistic takeaways to practice in a professional career.

COSC 6060: Parallel and Distributed Systems (3 credit hours)

Students use and develop software for parallel and distributed computing systems. Topics include: job submission and management, tools for parallel and distributed software development, approaches for implementing parallel and distributed computation, parallel and distributed system architectures, and essential evaluation techniques.

COSC 6090: Research Methods/Professional Development (1 credit hour)

Designed to introduce the process of research and communication of research in computer science, including presentation and publication of research, preparation of grant proposals, and ethical considerations. May be repeated.

COSC 6260: Advanced Algorithms (3 credit hours)

Covers advanced paradigms for the design and analysis of efficient algorithms. Emphasizes fundamental algorithms and advanced methods of algorithmic design, analysis and implementation. Domains include: string algorithms, network optimization, parallel algorithms, computational geometry, external memory and streaming algorithms, and advanced data structures.

COSC 6270: Advanced Operating Systems (3 credit hours)

Fundamental concepts of operating systems including kernel data structures; process control and scheduling; interprocess communication and synchronization; virtual memory and memory management; mass storage systems and device control; protection and security; and protection and virtualization; evaluation and prediction of performance. Students are expected to spend at least three hours per week gaining hands-on experience in using and modifying a small operating system.

COSC 6280: Advanced Computer Security (3 credit hours)

Symmetric key and public key cryptography, hash functions, random numbers and cryptanalysis; authentication and authorization, password-based security, ACLs and capabilities, covert channels, security models, firewalls and intrusion detection systems; authentication protocols, session keys, SSH, SSL, IPSec, Kerberos, WEP, and GSM; flaws and malware, buffer overflows, viruses and worms, malware detection, software reverse engineering, digital rights management, secure software development and operating systems security; fundamentals about bitcoin and cryptocurrency technologies. Students write programs for assignments using the C programming language.

COSC 6330: Advanced Machine Learning (3 credit hours)

Provides a graduate-level introduction to machine learning and statistical pattern recognition and in-depth coverage of new and advanced methods in machine learning, as well as their underlying theory. Emphasizes approaches with practical relevance and discusses a number of recent applications of machine learning, such as data mining, computer vision, robotics, text and web data processing. An open research project is a major part of the course.

COSC 6340: Component Architecture (3 credit hours)

Focuses on designing and implementing software components, and streamlining the translation from business intent into realized application behavior in a practical hands-on, business-based environment. Introduces service-oriented architecture (SOA) and principles such as loose coupling, abstraction, reusability, autonomy, statelessness, discoverability, interoperability and composability.

COSC 6345: Mobile Health (mHealth) (3 credit hours)

Offers a multidisciplinary overview of the emerging technologies used in mobile health (mHealth). Research and innovations in this area promise solutions to the need for broader access to affordable and effective healthcare by enabling consumers and their caregivers to take charge of their health and well-being. mHealth is the provision of health information and services using sensor data via mobile phones and tablets. Students develop foundational knowledge of understanding the behaviors, different data models, security and privacy issues.

COSC 6350: Distributed Computing (3 credit hours)

Introduces a broad spectrum of topics encompassing system architecture, software abstractions, distributed algorithms and issues pertaining to distributed environments such as replication, consistency, fault tolerance, transactions and security.

COSC 6355: Mobile Computing (3 credit hours)

May count toward IACD elective for specialization students.

Focuses on the fundamentals of mobile computing, challenges in mobile computing, mobility management and mobile data management. Also focuses on context awareness and wireless communications, ubiquity of wireless communication technologies and standards, seamless access network services and resources from anywhere, at any time, middleware for mobile computing, operation systems, programming languages, network protocols and security aspects of mobile computing. Explores concepts in sensor networks, including operating systems, programming languages, network protocols and programming models.

COSC 6360: Enterprise Architecture (3 credit hours)

Focuses on key topics and concepts that represent enterprise architecture (EA). Addresses the people, process and technology elements of EA from both a business and technical perspective. Explores the background, history, planning, governing, maintaining and common methodologies associated with EA. Prototypes some of the technology used in enterprises today to gain a better understanding of how information is represented, systems are integrated and standards are put into practice.

COSC 6375: Web Technologies (3 credit hours)

Exposes students to design and architectural principles in developing web applications. Focuses on the client side, middleware and service layer of web applications. Topics range from HTML, JavaScript, JQuery, Java Servlets, MVC Design Pattern, Java Spring MVC, SQL, JDBC, Hibernate, AngularJS and Cloud Computing.

COSC 6380: Big Data Systems (3 credit hours)

Focuses on newer, advanced database techniques in the areas of Big Data, NoSQL, Hadoop and Apache Spark. Covers main NoSQL data management topics such as document databases, key-value stores and graph databases. Prereq: Database Systems or equiv.

COSC 6390: Professional Seminar in Computing (1 credit hour)

Topic to be chosen each term from among issues important to all professionals in computing. All students specifically in the computing program are expected to participate for the fall and spring terms, and one of the two summer terms. S/U grade assessment.

COSC 6510: Data Intelligence (3 credit hours)

Foundational topics in business intelligence. Includes properties and benefits for business intelligence and methodology for the development of business intelligence solutions. Examines technology employed for managing data and creating visualizations and dashboards. Topics include developing a business case, evaluating performance and managing data. Presents overview of data architectures commonly used in business intelligence solutions and includes exercises using common techniques for prediction and time series analysis.

COSC 6520: Data Analytics (3 credit hours)

Foundational topics in the analysis of data from a business perspective. Includes methodology for the development of business analytics systems. Examines technology employed for business analytics in a variety of industry segments and the benefits derived from business analytics. Foundations of text and data mining techniques commonly used for classification, clustering and prediction. Students are presented techniques for developing a business case, evaluating predictive performance and managing data. Includes exercises using analytic technology and a project to apply analytics to a customer application. Students without programming experience are advised to complete COSC 6510 before attempting COSC 6520.

COSC 6530: Concepts of Data Warehousing (3 credit hours)

Provides an introduction to data warehouse design. Reviews topics in data modeling, database design and database access. Data warehouse planning, design, implementation and administration. The role of data warehouse in supporting decision support systems (DSS), business intelligence and business analytics.

COSC 6550: Introduction to Cybersecurity (3 credit hours)

Required for IACD specialization students.

Provides an introduction to cybersecurity threats, methods and security techniques. Foundations of various cybersecurity frameworks and methods for applying them to different types of organizations. Includes cyber threat environment, along with methods, tools and techniques that can help mitigate vulnerabilities and reduce risks to an organization.

COSC 6560: Principles of Service Management and System Administration (3 credit hours)

Required for IACD specialization students.

Introduction to the concepts, principles and practices involved in the operations of secure computing systems. Presents principles of service management and explores how the principles of system administration are derived from concepts of delivering quality services. Lab exercises performing rudimentary tasks of a system administrator using virtual machine environments. Foundation topics include: cryptography, popular operating systems for servers, network configuration, system components, networked systems, host management, user management, configuration of servers and services, incident management, change management, security, monitoring and analysis of operations.

COSC 6570: Data at Scale (3 credit hours)

Combines ideas from parallel databases, distributed systems and programming languages to analyze data at scale. Relevant technologies are introduced and taught in an accessible and inclusive way. Some examples include cloud computing, SQL and NoSQL databases, MapReduce ecosystem, Spark and its contemporaries, and graph databases.

COSC 6580: Data Security and Privacy (3 credit hours)

Focuses on fundamental and advanced topics in data security and privacy, including differential privacy, secure multi-party computation, homomorphic encryption, data perturbation, data anonymization, security and privacy in AI, location privacy, and social network privacy. Students also learn practical skills via projects.

COSC 6820: Data Ethics (3 credit hours)

A comprehensive overview of the current ethical and social implications of our data-driven society. A sociotechnical approach is used to unpack issues of privacy and surveillance, algorithmic biases, fairness, transparency, and accountability across various contexts.

COSC 6931: Topics in Computer Science (3 credit hours)

Topics vary. Students may enroll more than once as the subject matter changes.

COSC 6964: Practicum for Research and Development in Computing (3-6 credit hours)

S/U grade assessment. Prerequisite: 3.00 MU GPA; must be enrolled in Plan B option of the M.S. in computing program and have completed at least 15 credit hours earned in graduate (6000-level) courses. Available only to full-time students. Cons. of the computing director of graduate studies or cons. of department chair.

COSC 6965: Curriculum Integrated Practicum in Computing (1-2 credit hours)

Involves practical application of the knowledge and skills being studied concurrently, and previously studied, in other course work for computing professionals. Prerequisite: Admission to the COMP program's integrated practicum option; cons. of the computing director of graduate studies or cons. of department chair

COSC 6995: Independent Study in Computer Science (1-6 credit hours)

An in-depth study on a topic or subject matter usually not offered in the established curriculum with faculty and independent of the classroom setting. Prerequisite: Cons. of instructor and cons. of department chair

COSC 6998: Professional Project in Computer Science (0 credit hours)

SNC/UNC grade assessment. Prereq: Cons. of dept. Ch.

COSC 6999: Master's Thesis (1-6 credit hours)

S/U grade assessment. Prereq: Cons. of dept. ch.
Priority application deadline
April 8
Summer 2024 term
Application deadline
May 6
Summer 2024 term
Next start
May 20
Summer 2024 term
Questions? Let’s connect.