Core Computer Science (required) (28 or 29 credits)

MCON 106 - Web Development (4 credits)

This course is the foundation course for students who are majoring in Computer Science or Management Information Systems. Students will learn core concepts related to web development including an introduction to HTML/CSS and front end (browser) technologies and client-side scripting in JavaScript. In addition, students will learn fundamentals of Excel, internet standards and topics relating to security.

MCON 141 - Introduction to Programming (3 credits)

This course introduces students to problem solving techniques used in programming. In order to reinforce these concepts in a concrete manner, students will develop numerous programs using a popular programming language. They will implement programs using objects, input, output and variables and utilize programming control structures such as loops, selection structures, methods, and classes. Corequisite: MCON 104.

MCON 232 - Advanced Programming (3 credits)

This course introduces students to more advanced programming concepts using an OO programming language. This course explores the Object-Oriented Design and Programming paradigm including inheritance versus composition, polymorphism, runtime versus compile time binding, shallow versus deep copying, and exception handling. In addition, some basic container and GUI classes will be covered. Students will complete extensive programming assignments to develop their skills in problem analysis and program coding and testing. They will implement programs using arrays, basic searching and sorting techniques, strings, and classes. Prerequisite: MCON 141.

MCON 264 - Data Structures (3 credits)

This course discusses the fundamental kinds of data structures, including stacks, queues, linked lists and trees. These data structures are explored and utilized to implement various algorithms such as sorts, searches and more complex data manipulation. The data structures are implemented as classes using the OOP paradigm, reinforcing OO concepts such as design patterns and inheritance and polymorphism. The relationship between data structures and file structures is also addressed and files are used to implement object persistence. Students are also taught to estimate and compare and contrast the relative efficiencies of algorithms and of the different data structures. Students are given intensive programming exercises to further develop their programming and analysis skills. Prerequisite: MCON 232.

MCON 343 - Databases Concepts and Design (3 credits)

This course provides students with solid foundation in database management and design concepts and related skills. The course will explore database design techniques such as normalization and entityrelationship modeling, database modeling/design tools such as Microsoft Visio or MySQL Workbench and UML, database management concepts such as database performance optimization, transaction processing and concurrency control, indexing, elementary database security features, database implementation techniques using a RDBMS such as SQL Server Express and a host language to develop a GUI and provides connectivity to a database. Students will design and implement databases and use SQL to construct simple, nested and correlated queries, and inner and outer joins to retrieve and manipulate data. Prerequisite: MCON 232.

MCON 364 - Advanced Topics in Programming (3 credits)

This course covers advanced programming language topics such as advanced and thread safe data structures, multi-threading, database connectivity, web development, networking, graphical user interface development and file processing. Prerequisite: MCON 264.

MCON 322 - AI Engineering and Development (3 credits)

This course explores the intersection of Python development and artificial intelligence through hands-on projects aligned with real-world entrepreneurial applications. Students will learn to integrate AI services through APIs and SDKs, understand modern AI concepts including embeddings and RAG, and deploy production-ready AI applications using free cloud resources. The course progresses through increasingly sophisticated projects: from AI-powered content creation, to personalized story generation, to full-stack API ecosystems including MCP servers. The course emphasizes practical skills using modern AI-assisted development tools like Cursor.

MCON 452 - Internship (3 credits)

This course requires students to complete an internship in a Computer-Science-related field. Students work on a commercial business project requiring a minimum of 160 hours in a semester. These internships complement students’ academic backgrounds and prepare them for the business world. Achievement is measured by demonstrable attainment of the project's goals. Prerequisite: MCON 264, Senior Standing, and Departmental permission.

One of the following:

MATN 121 - Calculus (4 credits)

Continuity, limits, differentiation, and integration of polynomial, exponential, and trigonometric functions. Curve sketching and related rates. Definite integrals, arc length, parametric equations and conic sections. Applications to geometry, physics, and other areas. Prerequisite: MATN 120 or placement by departmental examination.

MATN 263 - Operations Research (3 credits)

Techniques in operations research: deterministic and probabilistic models, applications employing linear programming, inventory models, queuing theory and game theory. Prerequisite: MATN 240.

Software Development Concentration (required) (18 credits)

MCON 152 - Software Methodology (3 credits)

This course introduces students to a major software development methodology, e.g. Agile Programming. Topics typically covered include Test-Driven Development, logging, group development, software documentation, standardized naming conventions, best software development practices, design patterns and idioms. All concepts are typically covered in the context of a semester-length programming project. Prerequisite: MCON 232.

MCON 241 - Math for Computer Science Majors (3 credits)

Topics include: the logic of compound statements, argument forms and rules of inference, truth tables, conditional statements, predicates and quantified statements, mathematical proofs and induction, set theory, functions, relations, probability, graphs and circuits, formal languages and regular expressions, finite state automata, and solvability issues and principles. Prerequisite: MATN 120 or Exam.

MCON 243 - Operating Systems (3 credits)

This course discusses the design and implementation of operating systems. Topics include multi-programming, multi-processing, time-sharing, resource allocation and job scheduling. Communications, conversational computing, computer networks, memory protection, process management, interrupts, segmentation, interprocess communications, paging, virtual memories, memory management will also be taught. The deadlock problem, detection, recovery, and prevention methods 170 will be explored. Input, output, and the use of buffering and channels will be addressed as well. Prerequisite: MCON 232.

MCON 251 - Programming Languages (3 credits)

This course introduces students to the elements of programming languages and the skills required to understand, design, and implement programming languages. Students will learn about control structures, data structures types and scope (static and dynamic), name structures, binding time and storage allocation/representation, subroutines and activation records, and BNF notation and formal language description. Students will receive a brief introduction to about six languages, and will write programs in them. Prerequisite: MCON 232.

MCON 220 - Back-End Web Development (3 credits)

This course provides comprehensive instruction in back-end web development. Students progress from fundamental web concepts to building production-ready web applications with user authentication, database integration, and RESTful APIs. The course emphasizes real-world development practices including version control with Git, deployment to cloud platforms, testing, and professional documentation. By the end of the semester, students will have deployed a working web application to the internet.

MCON 357 - Practicum in Software Development(3 credits)

This course is an advanced, project-based course that provides practical experience in modern software development and professional workflows. Students design, implement, test, deploy, and present a production-quality software application while working individually or in teams. Emphasis is placed on collaborative development, project management, version control, full-stack application development, cloud deployment, software integration, and the effective use of contemporary development tools. The course culminates in a portfolio-quality project that demonstrates technical proficiency and professional software development practices.

Data Science Concentration (required) (18 credits)

MATN 211 - Linear Algebra (3 credits)

Linear equations, matrices and determinants; linear transformations; vector spaces; eigenvalues and eigenvectors; similarity of matrices; canonical forms and invariant subspaces; LU decomposition. Matrix calculations on scientific calculators. Prerequisite: MATN 122.

MATN 231 - Probability Theory (3 credits)

Permutations and combinations, Classical and Modern theory, Discrete and continuous theory, Random variables, Probability Distribution Functions, Cumulative Distribution Functions, Binomial, Poisson, normal and other probability distributions, Conditional and marginal distributions, Expectation, mean, variance, Bayes Theorem, Prerequisite: MATN 122.

MATN 203 - Applied Statistics with Python I (3 credits)

MATN 303 - Applied Statistics with Python II (3 credits)

MATN 3xx - Data Acquisition and Preparation (3 credits)

MATN 3xx - Applied Machine Learning Applications (3 credits)

Artificial Intelligence Concentration (required) (18 credits)

MATN 122 - Calculus II (4 credits)

Continuity, limits, differentiation, and integration of polynomial, exponential, and trigonometric functions. Curve sketching and related rates. Definite integrals, arc length, parametric equations and conic sections. Applications to geometry, physics, and other areas. Prerequisite: MATN 120 or placement by departmental examination.

MATN 211 - Linear Algebra (3 credits)

Linear equations, matrices and determinants; linear transformations; vector spaces; eigenvalues and eigenvectors; similarity of matrices; canonical forms and invariant subspaces; LU decomposition. Matrix calculations on scientific calculators. Prerequisite: MATN 122.

MATN 231 - Probability Theory (3 credits)

Permutations and combinations, Classical and Modern theory, Discrete and continuous theory, Random variables, Probability Distribution Functions, Cumulative Distribution Functions, Binomial, Poisson, normal and other probability distributions, Conditional and marginal distributions, Expectation, mean, variance, Bayes Theorem, Approximations. Prerequisite: MATN 122.

MCON 219 - Foundations of AI (3 credits)

This course introduces foundational ideas, methods, and real-world implications of artificial intelligence. Students learn how AI systems represent knowledge, search for solutions, learn from data, and generate outputs. Emphasis is placed on AI literacy, responsible use, ethical considerations, and the ability to critically evaluate AI claims in media and products.

MCON 290 - Machine Learning (3 credits)

This course provides a rigorous introduction to machine learning methods and the principles that determine model reliability. Students learn to formulate prediction and pattern discovery problems, prepare datasets, select algorithms, and evaluate performance using proper experimental design. Emphasis is placed on responsible ML practice, error analysis, fairness considerations, and reproducible workflows.

MCON 310 - Applied Agentic AI (3 credits)

This course introduces students to agentic AI-systems that pursue goals through multi-step reasoning, planning, tool use, and interaction with environments and users. Students learn how agents differ from single-turn AI systems, how autonomy is structured, and how to design workflows that are reliable, safe, and auditable. Coursework includes hands-on labs building simple agents and a capstone project with a safety and governance plan.

Web and AI Application Development Concentration (required)(18 credits)

MCON 233 - AI Programming (3 credits)

This course introduces modern development practices and AI-assisted programming workflows. Students learn to use AI coding agents effectively, apply version control with Git, design and implement unit tests, perform functional verification and code reviews, and use SOLID principles and design patterns to build maintainable software. Emphasis is placed on debugging, evaluating both AI-generated and human-written code, and clearly explaining and defending technical design and implementation decisions.

MCON 220 - Back-End Web Development (3 credits)

This course provides comprehensive instruction in back-end web development. Students progress from fundamental web concepts to building production-ready web applications with user authentication, database integration, and RESTful APIs. The course emphasizes real-world development practices including version control with Git, deployment to cloud platforms, testing, and professional documentation. By the end of the semester, students will have deployed a working web application to the internet.

MCON 357 - Practicum in Software Development(3 credits)

This course is an advanced, project-based course that provides practical experience in modern software development and professional workflows. Students design, implement, test, deploy, and present a production-quality software application while working individually or in teams. Emphasis is placed on collaborative development, project management, version control, full-stack application development, cloud deployment, software integration, and the effective use of contemporary development tools. The course culminates in a portfolio-quality project that demonstrates technical proficiency and professional software development practices.

MCON 309 - Advanced AI Programming (3 credits)

This course explores advanced software development practices through the complete software development lifecycle, including requirements analysis, design, implementation, testing, deployment, and maintenance. Students develop applications across multiple domains while using agentic AI tools to support engineering workflows, system design, testing, and iteration. Students complete substantial projects requiring the design, implementation, and evaluation of production-oriented software systems.

MCON 323 - Cloud-Native Application Development (3 credits)

In this course, students are introduced to the working of AI web applications and teaches students how to deploy and operate them on modern cloud-native infrastructure. Topics may include containers, Kubernetes, CI/CD, infrastructure as code, observability, managed data services, model serving, cost, and incident response.

MCON 324 - Security for Web and AI Systems (3 credits)

This course introduces the principles of securing modern web and AI systems. Topics may include application security, authentication, privacy, risk management, monitoring, and incident response. Students apply security best practices through hands-on exercises and practical projects.

Eligible Electives (choose two from the following) (6 credits)

MCON 255 - Android Application Development (3 credits)

This course covers mobile software development, including both general coding and UI design, with a specific focus on developing mobile applications for the Android platform with a Model-View-Controller (MVC) approach using the official Android Studio IDE (Integrated Development Environment) and emulator.

MCON 245 - Linux (3 credits)

This course introduces students to essential Linux topics, such as the command-line utilities, the file system, the shell, and writing shell scripts. vim, emacs, bash, and tcsh will also be introduced, as well as an understanding of topics such as redirection, wildcards, access permissions, directories, links, and how the command line is parsed. Prerequisite: MCON 141.

MCON 200 - Fundamentals of Cloud Computing (3 credits)

This course introduces the principles, architectures, and service models of cloud computing. Topics include virtualization, distributed systems, resource provisioning, storage, networking, security, deployment models, scalability, reliability, governance, and cost management. Students gain practical experience using cloud technologies to deploy and manage computing resources while applying industry best practices.

MCON 231 - Fundamentals of Cybersecurity (3 credits)

This course focuses on the overall security policies with emphasis on hands-on skills in the areas of secure perimeter, secure connectivity, secure management, identity services, and intrusion detection. It provides an introduction to the core security concepts and skills needed for the installation, troubleshooting, and monitoring of network devices to maintain the integrity, confidentiality, and availability of data and devices. Prerequisite: MCON 224.

MCON 234 - Numerical Methods in Computer Programming (3 credits)

In this course students practice on-line network instruction lab exercises utilizing LAN software. Students become hands-on familiar with a popular LAN software package including installation, utilization service, support and troubleshooting. The software will be adjusted to reflect the constantly changing technologies available. Lab time is required for class assignments. Corequisite: MCON 354.

MCON 264 - Linear Algebra for Computer Science Major (3 credits)

This course discusses the fundamental kinds of data structures, including stacks, queues, linked lists and trees. These data structures are explored and utilized to implement various algorithms such as sorts, searches and more complex data manipulation. The data structures are implemented as classes using the OOP paradigm, reinforcing OO concepts such as design patterns and inheritance and polymorphism. The relationship between data structures and file structures is also addressed and files are used to implement object persistence. Students are also taught to estimate and compare and contrast the relative efficiencies of algorithms and of the different data structures. Students are given intensive programming exercises to further develop their programming and analysis skills. Prerequisite: MCON 232.

MCON 325 - Advanced Cybersecurity (3 credits)

This course focuses on the managerial aspects of information security and assurance for network administrators. It provides a study of information security concerns and techniques to protect against the risk of revenue loss and vulnerability utilized in current business environment. Topics covered include access control models, information security governance, and information security program assessment and metrics. Prerequisite: MCON 231.

MCON 423 - Analysis of Algorithms (3 credits)

This course introduces the student to the concepts and applications of algorithms via time and space complexity, lower and upper bounds, as well as the mathematical framework to measure these in iterative and recursive structures. Topics include: cryptography (RSA), directed and undirected graphs, tree structures, divide-and-conquer algorithms, transform and conquer algorithms, greedy algorithms, searching and sorting bounds and optimization, hashing, dynamic programming, data compression, P v NP, and heuristic arguments therein. Corequisite: MCON 264.

MCON 451 - Special Topics in Computer Science (3 credits)

This course will cover topics of current interest in computer science. Possible offerings include: software engineering, microprocessors, computer graphics, system simulation, expert systems, game programming, and Internet applications. Prerequisite: Departmental permission.

MCON 527 - Special Topics in Computer Science (3 credits)

This course explores emerging topics of current interest in computer science. Possible offerings include artificial intelligence, machine learning, cloud computing, cybersecurity, data science, extended reality (XR), Internet of Things (IoT), blockchain, and quantum computing.

MCON 532 - Python Development for AI Applications (3 credits)

Any course from a different computer science concentration

Any other course approved by the Department.