Course | Description | Faculty |
CS422: Database Management Systems |
Database systems organize and retrieve information, allowing the user to access the desired information easily and efficiently. Topics include: relational data model; SQL; ER modeling; relational algebra; data normalization; transactions; objects in the database; data security and integrity; data warehousing, OLAP, and data mining; distributed databases; and study of a specific commercial database system. (4 units)
(Mukadam) DBMS Course Details |
Joseph Lerman Mrudula Mukadam |
CS425: Software Engineering | Software Engineering is a course that introduces the student to best practices in software development through a software development methodology. Students have already had some experience in previous courses with the Object Oriented paradigm and have used some of the basic UML diagrams for purposes of modeling relationships between software objects. Show More(Nolle) Previous Course Syllabus |
Paul Corazza Emdad Khan Obinna Kalu |
CS435: Algorithms |
This course presents methods for analyzing the efficiency of algorithms (including worst-case and average-case analysis) and introduces a variety of known, highly efficient algorithms. Analysis, design, and implementation of algorithms are given equal emphasis. Show More(Corazza) Previous Course Syllabus (Khan) Previous Course Syllabus |
Clyde Ruby Paul Corazza Emdad Khan Mei Li |
CS472: Web Application Programming |
This course provides a systematic introduction to programming interactive and dynamic web applications. The course is intended for individuals with little or no prior web application programming experience. This offering will use Java servlets and JSP for server side processing. Show More(Lester) http://mumstudents.org/cs472/2017-10-BL/ (Levi) WAP Syllabus 2017 (Saad) http://mumstudents.org/cs472/2016-04-AS/ (Kalu) http://mumstudents.org/cs472/2017-09-OK/ |
Bruce Lester Keith Levi Rakesh Shrestha Asaad Saad Rujuan Xing Obinna Kalu |
CS473: Mobile Device Programming |
Developing Android programs is an exciting and potentially lucrative experience. Android development opens up the world of creativity to you the programmer and allows you to express yourself in ways you never dreamed of in a digital world where you can create a product and make it available to billions of users in just one click of a button. This course will concentrate on creating Android applications by using the Kotlin programming language.
Syllabus: CS473 Mobile Device Programming Syllabus |
Renuka Mohanraj |
CS488: Big Data Analytics |
The intelligence of any area or organization is reflected in its processes and structures. One important and growing aspect of that is embedded in its information systems and associated data. Data Analytics is the overall field that includes gathering and analysis of this data to discover the underlying structure and patterns and producing actionable intelligence, to help managers drive superior performance. This course covers the fundamental concepts and tools for mining large diverse data sets to generate new insights – you will learn techniques like Regression, Bayes’ Rule, Decision Tree, KNN, SVM, Association Rule mining, Clustering, Text Mining and many more. You will master the use of R language to create Wordcloud, Data Visualization and implement the techniques mentioned above. You will work in groups on a project to research on a popular data mining algorithm and present your work. (4 units) Prerequisite: Consent of the department faculty. | Mei Li |
CS522: Big Data |
Modern information processing is defined by vast repositories of data that cannot be handled by traditional database systems. This course covers latest technology developed and used by industry leaders to solve this problem in the most efficient way. Specific topics covered include MapReduce algorithms, MapReduce algorithm design patterns, HDFS, Hadoop cluster architecture, YARN, computing relative frequencies, secondary sorting, web crawling, inverted indexes and index compression, Spark algorithms and Scala (4 units) |
Prem Nair |
CS523 Big Data Technology |
In just a few short years, big data technologies have gone from the realm of hype to one of the core components of the new digital age. These technologies are very useful for transforming Information to Knowledge. The aim of the course is to add some really important tools in your arsenal to help you solve various big data problems. Show More |
Mrudula Mukadam |
CS525: Advance Software Development |
The Structures and Patterns of Software that Embody Knowledge of Good Design
This course considers the current methods and practices for good design of software systems. Topics include: software design patterns, frameworks, architectures, and designing systems to apply these multi-level abstractions. (2-4 credits) |
Gregory Guthrie Hanhong Lu |
CS525: Advance Software Development |
This course is an introduction to 23 GoF (Gang of Four) design patterns and software frameworks. Design Patterns are proven solutions to recurring problems in object-oriented software design. The course will cover the rationale and benefits of using them in developing software frameworks and applications. Show MorePrevious Course Syllabus |
Hanhong Lu |
CS544: Enterprise Architecture | This course focuses on the protocols, principles, design patterns, and architecture of the Corporate Enterprise. The course emphasizes principles and patterns that are general across all platforms and frameworks.
We will examine the architectural layers of an N-Tier architecture and the different technologies associated with these layers. The main emphasis will be what is commonly referred to as Service and Persistence tiers. Data Persistence, Security, Application Integration and Distributed Applications are areas of focus in this course. Show More |
Joe Bruen Payman Salek Najeeb Najeeb Michael Zijlstra Anthony Sander |
CS545: Web Application Architecture |
This course focuses on the protocols, principles, design patterns, and architecture of web applications, and web development frameworks that embody such principles and architecture. There are a variety of system principles and design patterns that are involved in modern web applications. The most important architectural pattern in modern web applications is the Model-View-Controller (MVC) architecture for web applications. Show More To investigate these principles in depth this course will examine and work with a representative web framework. In this course the representative framework will be Spring MVC. Spring MVC is part of the Core Spring framework and is considered the leading Java-based technology for building web applications.Prerequisite knowledge Prerequisite: CS472 Web Application Programming or consent of the Department FacultyIn addition, the course assumes knowledge/experience in the following computer science areas:
None of these are explicitly required as prerequisites for this course, but if a student is missing these concepts, it will be a challenge for them to understand the course concepts. BOOKS : Servlets & JSP – To Be Announced Spring MVC: Beginner’s Guide by Amuthan G Packt Publishing; 1st edition (June 24, 2014) |
Joe Bruen Rujuan Xing |
CS572: Modern Web Applications |
In this course you will learn the Reactive Programming Architecture of SPA (Single Page Web Applications) along with all the necessary skills to build a full Modern Web Application. Technologies include:NodeJS, ExpressJS, TypeScript, Angular, Firebase and NoSQL databases (MongoDB). The course will cover: Show More |
Asaad Saad Rakesh Shrestha Najeeb Najeeb |
CS582: Machine Learning |
Machine Learning, the field of study that gives computers the ability to learn from data, is at the heart of almost every scientific discipline, and the study of generalization (that is, prediction) from data is the central topic of machine learning. This course gives a graduate-level introduction to machine learning and in-depth coverage of new and advanced methods in machine learning, as well as their underlying theory. Show More |
Emdad Khan Anthony Sander |
CS590 Software Architecture (July 2018) | Traditionally every software project has a dedicated software architect who designs the architecture for a certain system. In agile software development software architecture is not a role, but a task that is performed by the team members (developers). In this course we study the important software architecture techniques, styles and patterns that are used in modern software systems.
First we will look at techniques and best practices to discover the architectural relevant requirements. Then we study how to design, evaluate and communicate architecture. We will study many architectural styles like domain driven design, component based architecture, service oriented architecture, microservice architecture, event driven architecture and stream based architecture. We also study architecture patterns like event sourcing, CQRS, publish-subscribe, reactive, eventual consistency, integration patterns, API gateway, load balancing, token based security, etc. We use Spring Boot, Spring Cloud and Kafka to practice the different architectural styles and patterns. |
Rene De Jong |