Skip to main content.


Graduate Level Course List

CIS 522 - Algorithms and Complexity

3 credits

Prerequisite: CIS 360 or equivalent, or permission of instructor

Evaluation of algorithms concerning their time and space complexity. Complexity hierarchies, axiomatic approach to computational complexity, NP complete problems, approximation algorithms for these problems.

CIS 525 - Parallel and Distributed Software Development

3 credits

Prerequisite: CIS 361 or equivalent, or permission of instructor

Design and development of parallel and distributed systems. This course provides state-of-the art presentation of software development for parallel and distributed systems. A systematic model-based approach has been applied across stages of software development. Various versions of Petri nets are used to model , specify, validate, and verify correctness of parallel and distributed systems. Performance is also assessed based on stochastic Petri nets. Rapid prototyping of parallel and distributed systems with automatic code generation is an ultimate goal of his course. Comparison with other approaches is also provided.

CIS 530 - Advanced Data Mining

3 credits

Coverage of advanced topics of data mining and its applications. The course will review related mathematics and then focus on data mining core algorithms and advanced modeling including regression, dimensionality reduction, support vector machines, clustering, graph theory, and frequent pattern mining. The course will also explore several real-world problems and discuss strategies for large scale data

CIS 531 - Software System Specification

3 credits

Prerequisite: CIS 480 or equivalent

Formal foundation of the theory and practice of software specification; production of correct, consistent, and reliable software systems by expressing the requirements of the system in formal ways. Formal and informal requirements analysis and specification techniques, the relation of analysis and specification to concerns of validation and verification, maintenance, and reusability.

CIS 532 - Software Systems Design

3 credits

Prerequisite: CIS 480 or equivalent

Principles and techniques for obtaining an architectural design from a system specification. Where appropriate, automated software design tools are used to demonstrate particular methodology. The relation of various design methods to the production of quality software that meets its specification, and the relation of design method to other life-cycle aspects. Design methods, design tools, the design process, and particular application domains for design techniques.

CIS 539 - User Interface Design and Techniques

3 credits

User interface covers theories and techniques for designing, developing and testing user interface. This course is intended to survey software architectures and techniques to build user interfaces, particularly focused on graphical user interfaces.

CIS 542 - Digital Forensics

3 credits

Preservation, identification, extraction and documentation of evidence in any computing environment. This course follows a practical approach to the practice of digital forensics while presenting technical and legal matters related to forensic investigations. It introduces various technologies used in everyday computing environments along with detailed information on how the evidence contained on

CIS 543 - Applied Cryptography

3 credits

Foundations of applied cryptography through practical applications.
Key concepts of applied cryptography, including classical cryptography and modern secret key and public key cryptography are introduced. Cryptographic primitives, their utilization to develop modern protocols for secure communication, secure computation are discussed. The subjects covered include Symmetric Encryption, Asymmetric Encryption, Message Authentication, Key Distribution and Management, Public Key Protocols, Digital Signatures, and Secure Computation.

CIS 545 - Programming Languages

3 credits

Prerequisite: Permission of instructor

Techniques of formal definition of programming languages, semantics of programming languages, programming styles, and language effects on software production. Introduces current trends in programming such as language features of problem-oriented and object-oriented programming, and analysis and design of user-oriented application languages.

CIS 546: Secure Software Development

3 credits

A study of principles and practices for development of safe and secure software. This course focuses on the design and implementation of secure software. It uses security design patterns and secure coding practices to eliminate the accidental insertion of vulnerabilities into code and to mitigate the risk of security vulnerabilities.

CIS 547: Network Security and Data Assurance

3 credits

Vulnerabilities, attacks and current defenses and in-depth look at network security. Threats to computer networks through exploiting weaknesses in network design and protocols are analyzed and protection of data confidentiality, integrity and availability throughout the different network services are explored. Topics covered include cryptographic and authentication systems for data protection, network intrusion detection and forensics technologies, network security devices and access control mechanisms, communication privacy and anonymity, and new developments in Internet and Transport Protocols.

CIS 550 - Advanced Machine Learning

3 cerdits

Prerequisite: CIS 360 Algorithms & Data Structures or equivalent, or permission of instructor

Advanced coverage of machine learning algorithms and applications to computer vision, data mining and social media. Specifically, the course focuses on data pre-processing, feature extraction, supervised/unsupervised learning, graphical model, deep learning, and other advanced machine learning topics. The course will also explore several real-world problems, e.g., visual detection/recognition, topics discovery, social media analytics using machine learning approaches.

CIS 552 - Database Design

3 credits

Prerequisite: CIS 452 or equivalent, or permission of instructor

The relational, hierarchical, and network approaches to database systems, including relational algebra and calculus, data dependencies, normal forms, data semantics, query optimization, and concurrency control on distributed database systems.

CIS 554 - Advanced Computer Graphics

3 credits

Prerequisite: CIS 454 or equivalent, or permission of instructor

Three-dimensional graphics including: color, shading, shadowing and texture, hidden surface algorithms. An extensive project will be assigned, including documentation and presentation.

CIS 555 - Advanced Bioinformatics

3 credits

Advanced coverage of computational approaches used in bioinformatics. The course focuses on algorithmic challenges in analyzing molecular sequences, structures, and functions. It covers the following topics: Sequence comparison, assembly and annotation. Phylogenetic analysis. RNA secondary structure. Protein structure comparison, prediction, and docking. Microarrays, clustering, and classification. Genome, Hapmap, SNPs, and phenotypes. Proteomics and protein identification. Determining protein function and metabolic pathways.

CIS 556 - Gamification Design

3 credits

Prerequisite: CIS 360 Algorithms & Data Structures or equivalent, or permission of instructor

Introduction to gamification design and its applications in computer science. This course focuses on the use of gamification to tackle different scientific problems such as image recognition, software verification, DNA sequence analysis, nanotechnology, distributed computing, RNA and protein folding, neuroscience, and combating disease such as Alzheimer’s, malaria, and tuberculosis. A substantial coding project will be required.

CIS 560 - Theoretical Computer Science

3 credits

Prerequisites: CIS 360, 361, or equivalents

Theoretical basis of the development of computer science. The course details particular formalisms used in the design of hardware and software systems. Intrinsic limitations of computation are described. Advanced topics of automata theory and analysis of algorithms are included. The course also covers Turing machines, the halting problem, models of computation, intractable computations, polynomial reductions, P vs. NP, parallel algorithms, various formal descriptions and specifications of programs and computations, and proofs of program correctness and interactive proof systems.

CIS 561 - Artificial Intelligence

3 credits

Expert system architectures: forward-production, logic programming, deductive retrieval, and semantic network systems. The course also treats natural language systems, illustrative working systems, and AI programming.

CIS 563 - MultiAgent Systems

3 credits

Introduction to multi-agent systems and distributed artificial intelligence. The course examines the issues that arise when groups or societies of autonomous agents interact to solve interrelated problems. Topics include defining multiagent systems and their characteristics, reasoning about agents’ knowledge and beliefs, distributed problem solving and planning, coordination and negotiation, the organization and control of complex, distributed multiagent systems, learning in multiagent systems, and applications in the following domains: internet information gathering, electronic commerce, virtual markets, workflow management, distributed sensing network, distributed planning and resource allocation.

CIS 564 - Mobile Robotics

3 credits

Prerequisite: Graduate standing

The theory, software and hardware for autonomous mobile robots. Reactive behavior-based, deliberative goal-based, and utility-based robotic architectures will be presented. Control and planning under bounded resources will be covered. Interaction with environment using sensors and actuators, robot kinematics and dynamics, reinforcement and evolutionary learning techniques for intelligent robots, interaction of competing and cooperating multi-robot systems will be presented. Various applications of mobile robots will be explored.

CIS 565 - Evolutionary Computation

3 credits

Prerequisite: Graduate standing

Presentation of evolutionary algorithms and comparison to traditional solving techniques. This course deals with a powerful new technique for solution of hard, intractable real-world problems, based on principles of natural evolution. Four main areas of evolutionary computation will be explored: genetic algorithms, genetic programming, evolution strategies, and evolutionary programming. Applications of evolutionary computation to related areas of computer science will be discussed.

CIS 568 - Data Visualization

3 credits

Prerequisite: Graduate standing

Project-based course on advanced data visualization techniques. Topics may include: scalable visualization methods, multidimensional data analysis, network visualization, geospatial visualization, and interactive visualization. Ethical issues in data science.

CIS 569 - Visual Analytics

3 credits

Prerequisite: Graduate standing

Theories and models in visual analytics. Visual analytics covers cognitive theories, advanced computational models and usable visual interface for sensemaking of data. This course is intended for graduate students interested in using visualizations for data analytics in their own work, or students interested in building visual analytics tools.

CIS 570 - Advanced Computer Systems

3 credits

In depth treatment of current computer systems, with performance issues at the center of an analytical approach. The course explores operating system software and the interrelation between architecture and system software. Advanced topics of compiling, assembly, linking and loading of high-level language software are included. The course treats mechanisms of IO and the memory hierarchy, various features of traditional machines, advanced features of modern machines such as RISC and multi-processor machines, and file systems and networked and distributed systems such as inter- and intra-nets. Throughout, performance issues are at the center of an analytical approach.

CIS 571 - Compiler Construction

3 credits

Prerequisite: CIS 471 or equivalent, or permission of instructor

Different techniques for lexical analysis, syntax analysis, and object code generation. Emphasis on code optimization techniques and compiler-construction tools. The course will include a significant project.

CIS 572 - Real Time Systems

3 credits

Prerequisite: CIS 481 or equivalent, or permission of instructor

Design and implementation of real-time systems. Implementation of real-time system in ADA, scheduling, fault tolerance, and distributed real-time systems are also studied.

CIS 573 - Operating Systems

3 credits

Prerequisite: CIS 370 or equivalent, or permission of instructor

The methodologies of operating systems design and implementation. Concurrency, synchronization, process communication, switching control, deadlocks, implementation of dynamic structures, design of operating systems modules and interfaces, system security and integrity, and system updating and documentation are also studied.

CIS 574 - Advanced Computer Architectures

3 credits

Prerequisite: CIS 314 or equivalent, or permission of instructor

Study of recent advances in computer organization. Parallel processors, pipelined processors, modular and network architectures data-flow machines, fault-tolerant systems, language-directed, object-based, capability-based, and message-based processor organizations.

CIS 575 - Parallel Algorithms and Parallel Architectures

3 credits

Prerequisites: CIS 314, 360, or equivalent; or permission of instructor

Parallel algorithms and their implementations in parallel architectures. In the first part of the course parallel algorithms are analyzed for problems in graph theory, algebra, FFT, and artificial intelligence. The second part presents implementations of these algorithms in various parallel architectures.

CIS 577 - Computer Networks

3 credits

Prerequisite: CIS 475 or permission of instructor

Analysis and modeling of centralized and distributed computer networks. Queuing network analysis, principles of network design, software considerations, and design of computer networks are also studied.

CIS 578 - Evaluation of Computer Systems Performance

3 credits

Prerequisite: MTH 331, CIS 314 or equivalent; or permission of instructor.

Techniques of analysis and simulation for evaluation of computer systems performance. Queuing systems, Poisson processes, scheduling, service distribution, conservation laws, queuing networks, and discrete simulations are also studied.

CIS 579 - Multimedia Networking

3 credits

Prerequisite: CIS 475 or 476, or equivalent

Current techniques in multimedia communications and networking. The course presents the communication requirements of the different types of multimedia applications, the operation of the different underlying communication networks as multimedia carriers, and the communication protocols associated with these networks and gives an overview of the various quality-of-service models, real-time transmission issues, and compression techniques.

CIS 580 - Paradigmatic Software Development

3 credits

Prerequisite: CIS 311 or equivalent

Software development in the context of various paradigms. The strategies and methods of the procedural, object-oriented, and functional paradigms are studied and practiced. The modeling of software processes will be considered from both the process and product views, as will the appropriateness and measures of effectiveness of these processes in the design of software systems. Students will apply these measures to the course exercises, determining and reviewing the impact of these methods on individual design.

CIS 581 - Design and Verification of Information Systems

3 credits

Prerequisite: CIS 580 or permission of instructor

Sound design methodologies and technologies in development and maintenance of information systems/business systems with special emphasis on workflow management systems. An applied course that emphasizes the formal approach, this course also addresses issues of adaptability and flexibility of information systems and their evaluation. The course supports concurrent execution of information systems during the design stage and adopts and applies various forms of Petri nets.

CIS 582 - Advanced Software Engineering

3 credits

Prerequisite: CIS 489 or equivalent, or permission of instructor

Advanced topics in software engineering. This course examines technical aspects of software development life cycle and stresses a model driven approach to software engineering. Formal approaches to software modeling are covered and emphasized. The methodologies are introduced in the context of developing complex, critical and distributed software systems.

CIS 585 - Image Processing and Machine Vision

3 credits

Prerequisites: Graduate standing and permission of the instructor

Foundations of image processing and machine vision. Students apply and evaluate topics such as edge detection, segmentation, shape representation, and object recognition. Stereo vision and motion analysis will be covered in detail including calibration, range images, change detection, motion correspondence, and 2-D and 3-D tracking. Important research papers will be discussed in class.

CIS 588 - Neural Computing

3 credits

Prerequisite: Any course in programming languages and data structures

Fundamentals of artificial neural networks including application needs for neural networks, discussing the various architectures, learning algorithms and examples of applications. The standard neural networks are discussed in greater details, which allows for branching of architectures and combining of strategies for growing and/or constructing neural networks.

CIS 590 - Optical Networks

3 credits

Prerequisites: CIS 580

Analysis and design of optical network paradigms and architectures. Analysis and design of optical network paradigms and architectures. Introduction to optical components, wavelength division multiplexing, evolution of optical networks, design and analysis of wavelength-routed networks, and optical packet-/burst-switched networks are addressed. Principles of network design, linear programming, protocol and algorithm design, discrete event simulation techniques, and queuing theory are also studied.

CIS 595 - Independent Study

3 credits

Prerequisites: Upper-division standing and permission of instructor, graduate director, and college dean

Conditions and hours to be arranged

Study under the supervision of a faculty member in an area not otherwise part of the discipline’s course offerings.

CIS 596 - Directed Study

3 credits

Prerequisite: Permission of the instructor, graduate director, and college dean

Conditions and hours to be arranged

Study under the supervision of a faculty member in an area covered in a regular course not currently being offered.

CIS 599 - CIS Graduate Seminar

0 credits


Graduate Students in Computer and Information Science

Course includes department seminar presentations by speakers from industry and academia in addition to UMass Dartmouth faculty, and CIS Master student thesis defense presentations that are scheduled during the seminar course time slot (this time slot will be announced at the beginning of each semester). Students are required to attend these presentations and participate in technical discussions and write a report by the end of the semester.

All CIS graduate students are expected to attend and participate in the graduate seminars as part of their program. Attendance will be taken. In order to pass the course, at least 80% attendance rate is required. In addition, a one-page report, which describes at least two seminars attended, must be submitted by the end of each academic semester. Each graduate student must enroll in this course for two semesters. Pass/Fail

CIS 600 - Master’s Project

0 - 3 credits

Prerequisites: Completion of three core courses.

Development of a detailed, significant project in computer science under the close supervision of a faculty member, perhaps as one member of a student team. This project may be a software implementation, a design effort, or a theoretical or practical written analysis. Project report with optional oral presentation must be evaluated by three faculty members including the project supervisor.

CIS 602 - Special Topics in Computer and Information Science

3 credits

Offered as needed to present advanced material to graduate students.

CIS 690 - Master’s Thesis

0 - 6 credits

Prerequisite: Completion of three core courses.

Research leading to submission of a formal thesis. This course provides a thesis experience, which offers a student the opportunity to work on a comprehensive research topic in the area of computer science in a scientific manner. Topic to be agreed in consultation with a supervisor. A written thesis must be completed in accordance with the rules of the Graduate School and the College of Engineering. Graded A-F.

Course Catalog

See course schedules and requirements.

Back to top of screen