Undergraduate Programs
Engineering Real-World Solutions
Computing professionals offer expertise in the effective and efficient use of computers for solving human problems, whether that be as a member of a project development team, as a builder of powerful and easy-to-use tools, as an individual researcher, or as an educator.
The CIS Department currently offers 4 bachelor degree programs, 2 dual degree programs, 1 concurrent bachelor degree program, and 3 minor programs. Please visit the program pages to learn more about requirements.
Good news! Effective in Fall 2023, a new concentration in Artificial Intelligence (AI) will be offered for the BS in Computer and Information Science program, and a new application sequence in Artificial Intelligence (AI) will be offered for the BS in Software Engineering program.
Contact: For general information about the CIS undergraduate programs, please contact the department support team at: [email protected].
Bachelor Degree Programs
Dual Degree Programs
Minor Programs
How do I apply?
Incoming Freshmen
Transfer Students
Undergraduate Courses
Please consult the list of courses offered by the department. Course availability is subject to change. Please contact the department for the most updated list of offerings.
Tentative Schedule
Course Catalog
CIS 112 - Computer Literacy/Information Management [F]
This is a computer literacy course with primary emphasis on the following application tools: word processing, spreadsheets, and databases. This course is intended for undergraduates in CASL. No previous experience with computers is expected. (3 credits)
Prerequisites: None.
CIS 125 - Survey of Computer Science
This class is an introduction to the principles that form the foundation of computer science for students with no prior background in computing. This course is suitable for students with a non-technical background who wish to study the key principles of computer science rather than just computer programming. The class will introduce many concepts from computer science including: Alice programming, graph theory, combinatorics, finite state machines, computer networks, artificial intelligence, and graphics. (3 credits)
Prerequisites: MATH 105*.
CIS 150 - Computer Science I [F, W, S]
This course provides a foundation for further studies in computer and information science and emphasizes a structured approach to problem solving and algorithm development. Topics include principles of program design, coding, debugging, testing, and documentation. Students are introduced to the Unified Modeling Language for requirements analysis using use-cases and activity diagrams, an object-oriented programming language, and the fundamentals of computer hardware, system software, and components. The course will consist of three lecture hours and one two-hour laboratory. (4 credits)
Prerequisites: MATH 115* or MATH 113* or MPLS with a score of 116.
CIS 1501 - Computer Science I for Data Scientists [F]
This course provides a foundation for further studies in computer and information science and emphasizes a structured approach to problem solving and algorithm development using a high-level language more suited to data science applications. Topics include principles of program design, coding, debugging, testing, and documentation. Students are introduced to the Unified Modeling Language for requirements analysis using use-cases and activity diagrams, an object-oriented programming language for data science applications, and the fundamentals of computer hardware, system software, and components. The course will consist of three lecture hours and one two-hour laboratory. The labs will cover various data science applications. (4 credits)
Prerequisites: MATH 115* or MATH 113* or MPLS with a score of 116.
CIS 200 - Computer Science II [F, W, S]
This course presents techniques for the design, writing, testing, and debugging of medium-sized programs, and an introduction to data structures (stacks, queues, linked lists) using an object-oriented programming language. Topics covered include pointers, templates, and inheritance. The principles of UML modeling are continued. This course will consist of three lecture hours and one two-hour laboratory. (4 credits)
Prerequisites: (MATH 115 or MPLS with a score of 116) and (CIS 150 or CCM 150).
CIS 2001 - Computer Science II for Data Scientists [W]
This course presents techniques for the design, writing, testing, and debugging of medium-sized programs, and an introduction to data structures (stacks, queues, linked lists) using an object-oriented programming language for data science applications. Topics covered include recursion, inheritance, and abstract classes. The principles of UML modeling are continued. This course will consist of three lecture hours and one two-hour laboratory. The labs will cover various data science applications. (4 credits)
Prerequisites: CIS 1501 and (MATH 115 or MATH 113 or MPLS with a score of 116)
CIS 205 - Computer Programming for Engineers [F]
Intermediate topics in computer programming: arrays, files, structured data types, pointers, functions. Overview of digital computer hardware and system software components: machine architecture, operating systems, computer networks, data security, and performance evaluation. No credit for CIS majors.
Prerequisites: ENGR 100 or (MATH 105 or MPLS with a score of 113).
CIS 275 - Discrete Structures I [F, W, S]
An introduction to various topics in discrete mathematics, such as set theory, mathematical logic, functions, counting, advanced counting techniques, relations, trees, graphs, and Boolean algebra. Applications to relational databases, modeling reactive systems, and program verification are also discussed. (4 credits)
Prerequisites: (MATH 115 or MPLS with a score of 116) and (CIS 200* or CIS 2001*).
CIS 285 - Software Engineering Tools [F, W, S]
This course covers various case tools, such as UML modeling and code generation tools, configuration management tools, defect management tools, an integrated development environment for coding and debugging, unit and testing tools, and build tools. Students will learn these tools in a laboratory environment. This course will be comprised of two lecture hours and one two-hour laboratory. (3 credits)
Prerequisites: CIS 200*.
CIS 296 - Java Programming [F]
An introduction to the Java programming language, including applets, applications, Swing, graphics, multimedia, GUIs, threads, multitasking, and client-server computing. (3 credits)
Prerequisites: CIS 200 or CIS 2001.
CIS 297 - Introduction to C# [W]
This course provides an introduction to the C# programming language and the .NET Framework for the development of Windows game applications. Some discussion of DirectX programming and Xbox game development is also included. (3 credits)
Prerequisites: CIS 200 or CIS 2001.
CIS 298 - Introduction to Python [W]
An introduction to the Python programming language and its various libraries, packages, and toolkits. The focus of this course will be on the development of analytics/data science applications. (3 credits)
Prerequisites: CIS 200.
CIS 299 - Internship [F, W, S]
Student works with an industrial sponsor in the area of CIS. (1 credit)
Prerequisites: Permission of internship coordinator.
CIS 306 - Discrete Structures II [F, W, S]
This course introduces students to advanced topics in discrete mathematics, including the theory of computation (finite automata, Turing machines), grammars, and complexity theory (decidability, P, NO, NP-completeness). Other topics are selected from the current topics of interest with mathematical content, such as RSA encryption, coding theory, information theory, software metrics, computational geometry, quantum computing, and game theory. (4 credits)
Prerequisites: CIS 275
CIS 310 - Computer Organization and Assembly Language [F, W, S]
The architecture of computer systems and associated software. Topics include digital logic circuits, computer interfacing, interrupt systems, input/output systems, memory systems, assemblers, assembly language programming, and computer networks. (4 credits)
Prerequisites: (MATH 115 or MPLS with a score of 116) and (CIS 200 or CIS 2001) and CIS 275.
CIS 316 - Practical Aspects of Computer Security [F]
This course provides a practical introduction to a broad range of computer security topics. Covered topics include: practical computer security principles to help empower students to secure their own connections to cyberspace; firewalls, malware, and intrusion detection; cryptography basics and its applications; mobile devices and related security issues; network technologies and their vulnerabilities. (3 credits)
Prerequisites: CIS 200.
CIS 3200 - Data Science II [W]
This course provides an overview of what Big Data is an explores its characteristics. It introduces the fundamental technologies, platforms, and methods that enable Big Data analysis, and covers how to acquire, store, and analyze very large amounts of information to complete Big Data analysis tasks. Topics include MapReduce, similarity search, mining, real-time data streams, link analysis, clustering, recommender systems, social network graph mining, and large scale data mining tasks. (4 credits)
Prerequisites: (CIS 2001 or CIS 200) and (ECE 3100 or STAT 305).
CIS 350 - Data Structures and Algorithm Analysis [F, W, S]
This course focuses on data design and algorithm design. Data design topics include object-oriented discussions of hashing, advanced tree structures, graphs, and sets. Algorithm design topics include the greedy, divide-and-conquer, dynamic programming, backtracking and branch-and-bound techniques. A significant discussion of algorithm complexity theory, including time and space trade-offs and elementary computability theory, is included. (4 credits)
Prerequisites: (MATH 115 or MPLS with a score of 116) and (CIS 200 or CIS 2001) and CIS 275.
CIS 3501 - Data Structures and Algorithm Analysis for Software Engineers [F, W, S]
This course focuses on data design and algorithm design for software engineers. Data design topics include object-oriented discussions of hashing, advanced tree structures, graphs and sets. Algorithm design topics include the greedy, divide-and-conquer, dynamic programming, backtracking and branch-and-bound techniques. A significant discussion of algorithm complexity theory, including time and space trade-offs and elementary computability theory, is included. (4 credits)
Prerequisites: (MATH 115 or MPLS with a score of 116) and CIS 200 and CIS 275.
CIS 375 - Software Engineering I [F, W, S]
An in-depth treatment of the following software engineering topics: software engineering paradigms, requirements, specification, functional design, object-oriented design, user interface design, software verification and validation, and the maintenance and management of software engineering artifacts, as well as an introductory discussion of software reliability. Various phrases of the software engineering process will be modeled using UML. (4 credits)
Prerequisites: (CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and MATH 276) or (ECE 370 and ECE 276)) and (COMP 270 or COMP 106 or COMP 220 or CPAS with a score of 40).
CIS 376 - Software Engineering II [F, W, S]
A continuation of the formal development of the software engineering material begun in CIS 375. Topics include the personal software process, team software process, formal methods, security, software architecture, software quality assurance, software fault tolerance, the evaluation of the effectiveness of human computer interaction, and software reliability. (4 credits)
Prerequisites: CIS 375
CIS 381 - Industrial Robots [F, W, S]
This course introduces students in engineering and computer science to the fundamentals of robotics technology, programming, and their applications in an industrial environment. The emphasis will be on robotics anatomy and configurations, robotics kenematics and effectors, the use of sensors in robotics, robotics programming, design of robot workcells, robotics applications to production problems, cost justification, and robotics safety, rather than on the extensive theory of robotics. Three-hour lecture and three-hour laboratory per week. (4 credits)
Prerequisites: MATH 115 and junior or senior standing
CIS 387 - Digital Forensics I [F]
This course takes a detailed, hands-on approach to study the procedures and techniques used to identify, extract, validate, document, and preserve electronic evidence. Students completing this course will be familiar with the core computer science theory and practical skills necessary to perform basic computer forensic investigations, understand the role of technology in investigating computer-based crime, and be prepared to deal with investigative bodies at a basic level. This course will be comprised of three lecture hours and one two-hour laboratory. (4 credits)
Prerequisites: (CIS 200 or ECE 270) and previous or concurrent enrollment in (CIS 310 or ECE 370 or ECE 372).
CIS 390 - Topics in Computer Science [F, W, S]
Selected topics in an area of computer science. The specific topics will be announced (together with special prerequisites) each time offered. Student must elect different topics to take both 390 and 391. (1-3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276)
CIS 391 - Topics in Computer Science [F, W, S]
Selected topics in an area of computer science. The specific topics will be announced (together with special prerequisites) each time offered. Student must elect different topics to take both 390 and 391. (1-3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276)
CIS 399 - Internship [F, W, S]
Student works with an industrial sponsor in the area of CIS. (1 credit)
Prerequisites: Permission of internship coordinator.
CIS 400 - Programming Languages [F]
Systematic design of programming languages with regard to their implementation, structures, and use. Languages are compared with regard to their various data types, data structures, operations, control structures, programming environments, and ease of use for various programming problems. (4 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276).
CIS 405 - Algorithm Analysis and Design [F, S]
This course discusses how to design efficient algorithms. Topics include asymptotic analysis, average-case and worst-case analysis, recurrence analysis, amortized analysis, classical algorithms, computational complexity analysis, NP-completeness, and approximation algorithms. In addition, the course investigates approaches to algorithm design including: greedy algorithms, divide-and-conquer, dynamic programming, randomization, and branch and bound. (3 credits)
Prerequisites: CIS 350 or CIS 3501.
CIS 411 - Natural Language Processing [F]
This course provides an introduction to the theory and practice of natural language processing (NLP), as well as the approaches that allow understanding, generating, and analyzing natural language. The course will cover the three major areas in NLP: syntax, semantics, and pragmatics. The course will introduce both knowledge-based and statistical approaches to NLP, illustrate the use of NLP techniques and tools in a variety of application areas, and provide insight into many open research problems. (3 credits)
Prerequisites: CIS 350 or CIS 3501.
CIS 412 - Introduction to Quantum Computing [F]
This course provides an introduction to the theory and practice of quantum computing. It covers the basic background of quantum physics principles, mathematical modeling of quantum states and quantum operations, and some important quantum algorithms such as Shor's factoring algorithm, Grover's search algorithm, and Quantum Teleportation. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 351 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276) and IMSE 317 or STAT 325.
CIS 421 - Database Management Systems [F, W]
An introduction to database systems, concepts and techniques. Topics covered include: database environment, ER model, relational data model, object-oriented databases, object-relational databases, database design theory, and methodology, database languages, query processing and optimization, concurrency control, database recovery, and database security. (4 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276) .
CIS 422 - Massive Data Management [F]
An introduction to database systems, concepts, and techniques for big data. The course discusses classical relational technologies, and then covers the more current approaches to managing massive amounts of data for analytics purposes. Topics include database environments, database design, the relational data model, normalization, SQL, query processing, parallel databases and query processing, in-database analytics, data warehousing, key-value and column stores, NoSQL and NewSQL approaches for managing massive data. (4 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276).
CIS 425 - Information Systems [F]
This course provides in-depth coverage of advanced infrastructures for the development of next-generation information systems. Topics include information systems, data integration, XML, web services, ontologies, workflow, data warehousing, and data mining. (4 credits).
Prerequisites: CIS 375 and (CIS 421* or CIS 422*).
CIS 427 - Computer Networks and Distributed Processing [F, W, S]
The study of general design principles and concepts of computer networks. Topics include OSI model and internet architecture, communication hardware (transmission media and data transmission and encoding), physical and data link layers, wide-area networks (packet/circuit switching and routing technologies), local-area networks, wireless networks, internet protocols (IP, TCP, UDP), congestion control, network security, the client-server model, and distributed systems. (4 credits)
Prerequisites: (CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)) and IMSE 317.
CIS 435 - Web Technology [F]
This course deals with the study of technologies used to design and implement multimedia Websites. Topics include Web servers, HTML, client-side scripting, server-side scripting, security, multimedia, and related technology. (3 credits)
Prerequisites: CIS 375*
CIS 436 - Mobile Application Design and Implementation [W]
This course introduces students to the development of software applications for programmable mobile and wireless intelligent hand-held devices. Topics covered include the different mobile development platforms, best practices in mobile user interaction design, software quality assurance in the mobile environment, security and privacy issues, and context-aware computing. Students will participate in a final project. (3 credits)
Prerequisites: Previous or concurrent enrollment in CIS 375.
CIS 437 - Advanced Networking [W]
The study of protocols, algorithms, and tools needed to support the development and delivery of advanced network services. Topics include overview of the internet, congestion control, quality of service, internet multitasking, multimedia networking, mobile and wireless networks, vehicular networks, overlay networks, peer-to-peer networks, internet management (SNMP), and internet applications (web-HTTP and email-SMTP). (3 credits)
Prerequisites: CIS 427.
CIS 439 - Text Mining and Information Retrieval [W]
This course covers techniques for retrieving ranked relevant documents from a text repository based on user queries, using various techniques for extracting and representing latent knowledge from these documents. Topics also include language models, summarization, topic modeling, entity extraction, sentiment analysis, and embeddings. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276).
CIS 446 - Wireless and Mobile Computing Security [W, S]
The course focuses on security and privacy issues in the area of wireless networks and mobile computing such as cellular networks, wireless LANs, connected vehicles, smart and mobile devices, sensors and sensor networks, IoT, etc. The course will first present on overview of wireless communication and wireless systems, then focus on attacks, discuss proposed solutions and their limitations. Topics of this course include: (1) introduction to security primitives and wireless networks; (2) security issues in single-hop wireless networks that include cellular networks, RFID, modern vehicle, smartphone security; (3) security issues in multi-hop wireless network that include Mobile Ad Hoc network, wireless sensor network and vehicular network security. (3 credits)
Prerequisites: (CIS 200 or CIS 2001) and Math 396.
CIS 447 - Introduction to Computer and Network Security [F]
This course provides a broad-spectrum introduction to the fundamental principles of computer and network security. Topics will include security policies, models and mechanisms for confidentiality, integrity and availability, access control, authorization, cryptography and applications, threats and vulnerabilities in computer networks, key management, firewalls and security services in computer networks. (3 credits)
Prerequisites: Previous or concurrent enrollment CIS 450.
CIS 449 - Introduction to Software Security [W]
This course provides a broad-spectrum introduction to the fundamental principles of software security, as well as the approaches that allow understanding common software security practices, analyzing programs for vulnerabilities, and methods for developing secure software systems. The course will cover three major areas: software attacks and defenses, program analysis, and software verification. Various forms of software will be considered in this class including high level applications and system software. The course will also provide insight into many open research problems in this area. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276).
CIS 450 - Operating Systems [F, W, S]
This course presents the main functions of an operating system as a manager of resources, including file systems, disk and storage, CPU, and memory. The concepts of process and thread, synchronization mechanisms, scheduling strategies and deadlock detection/avoidance are covered in detail, along with an introduction to protection and security and distributed systems. (4 credits)
Prerequisites: CIS 310 and (CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)) and IMSE 317*.
CIS 451 - Computer Graphics [F]
This course covers basic graphical concepts such as graphics output primitives, two-dimensional transformations, windowing, clipping and viewing, three-dimensional transformations, windowing, clipping and viewing, and visible line/surface detection methods. (3 credits)
Prerequisites: (CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)) and (MATH 217 or MATH 227).
CIS 452 - Information Visualization and Virtualization [W]
This course introduces basic techniques for visualization, virtualization, digital animation, computer and video games, and web multimedia. Topics include data visualization, the process of creating animated video clips from start to finish (including story creation, storyboarding, modeling, animation, and post-production), and computer virtualization; several key techniques include graphic design, video editing, motion generation, multimedia, real-time rendering, visualization tools, and virtual machines. (3 credits)
Prerequisites: CIS 451 or CIS 487 or CIS 450.
CIS 467 - Network and Mobile Forensics [W]
This course is a continuation of Digital Forensics I and will focus on Internet Forensics. Students will examine in-depth concepts in Internet evidence collection and preservation, as well as applications of contemporary commercial forensic investigative software. This course will be comprised of three lecture hours and one two-hour laboratory. (4 credits)
Prerequisites: (CIS 387 or ECE 387) and previous or concurrent enrollment in (CIS 427 or ECE 471).
CIS 474 - Compiler Design [W]
Principles of language compilation. Introduction to formal languages, lexical analysis, top-down and bottom-up parsing, code generation and optimization. Error handling and symbol table management, run-time storage management, programming language design. Introduction to compiler-writing tools such as LEX and YACC. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276).
CIS 476 - Software Architecture and Design Patterns [F, W]
This course focuses on design patterns in object-oriented programming. The course begins with an overview of UML and a review of object-oriented programming and then moves on to various structural, behavioral and creational patterns, including: facades, adaptors, bridges, factories and the template method. Analysis of case studies will also be discussed. Using various modern software tools, students will apply various design patterns to real-world software design problems to gain complete practical understanding. (3 credits)
Prerequisites: CIS 375.
CIS 479 - Artificial Intelligence [F, W, S]
Introduction to the basic concepts and methods of artificial intelligence from a computer science perspective. The emphasis will be on the selection of data representations and algorithms useful in the design and implementation of intelligent systems. The course will contain an overview of one AI language and some discussion of important applications of artificial intelligence methodology. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276).
CIS 481 - Computational Learning [W]
This course covers basic computational aspects of learning to perform a task and improve with experience. Topics include learning frameworks and problem formulations; standard models, methods, computational tools, algorithms, and modern techniques; and methodologies to evaluate learning ability and to automatically select optimal models. The main focus is on computer science (e.g. basic runtime, space and complexity analysis, programming, and empirical evaluations). Simple applications to areas such as computer vision, natural language processing (NLP), and robots will also motivate the course material. (3 credits)
Prerequisites: CIS 306 and (previous or concurrent enrollment in MATH 217 or MATH 227) and (previous or concurrent enrollment in IMSE 317 or BENG 364 or MATH 425).
CIS 482 - Trustworthy Artificial Intelligence [W]
This course introduces the broad and evolving notion of trustworthy artificial intelligence (AI). It covers three broad areas of trustworthiness in AI: robustness, transparency, and accountability. For robustness, the course introduces the AI threat landscape focusing on training data poisoning, model evasion, privacy-sensitive data inference, model stealing/extraction, and threats to safe deployment of AI. For transparency, the course covers frameworks used to interpret/explain AI model’s decisions. For accountability, the course discusses methods and tools for reducing bias and ethical pitfalls when AI models are deployed in high-stakes application domains. The course also discusses the dynamics among the three broad AI trustworthiness desirables. The course adopts a predominantly project-based setting to enhance hands-on experience. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and MATH 276) or (ECE 370 and ECE 276).
CIS 483- Deep Learning [F, W]
This course is an introduction to deep learning, a branch of machine learning concerned with the development and application of modern deep neural networks. Students will learn to build up deep learning models and review the state-of-the-art deep learning literature to solve real-world computational problems. Students will delve into selected deep learning topics, discussing a range of model architectures such as CNN (convolutional neural network), RNN (recurrent neural network), LSTM (long short-term memory network), GAN (generative adversarial network), etc., and commonly used model optimizers. Students will learn to deploy these methods to real-life applications. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276).
CIS 4851 - Data Security and Privacy [F]
This course covers basics of data security and privacy techniques, which can facilitate the use of data in a secure and privacy-sensitive way. Topics include security and privacy challenges due to data collection and analytics, technologies and strategies for data security and privacy (access control mechanism, integrity policy, cryptography and encryption, notice and consent, anonymization or de-identification, deletion and non-retention). (3 credits)
Prerequisites: CIS 200 or CIS 2001.
CIS 487 - Computer Game Design and Implementation I [F]
The study of the technology, science, and art involved in the creation of computer games. The focus of the course will be hands-on development of computer games. Students will study a variety of software technologies relevant to computer game design, including programming languages, operating systems, file systems, networks, simulation engines, and multimedia design systems. Lecture and discussion topics will be taken from several areas of computer science: simulation and modeling, computer graphics, artificial intelligence, real-time processing, game theory, software engineering, human computer interaction, graphic design, and game aesthetics. (3 credits)
Prerequisites: Previous or concurrent enrollment in CIS 375.
CIS 488 - Computer Game Design and Implementation II [W]
A continuation of the material studied in CIS 487. Students will study a variety of software technologies relevant to computer game design, including 3D graphics, computer animation, data-driven game design, multiplayer game programming, and game AI. Lecture topics will be taken from several areas of computer science: simulation and modeling, computer graphics, artificial intelligence, game theory, software engineering, human computer interaction, and game content development. (3 credits)
Prerequisites: CIS 487.
CIS 489 - Edge Computing [W]
This course introduces state-of-the-art edge computing technologies and their applications in data-intensive distributed systems like smart homes, Internet of Things, and connected vehicles. Topics include edge computing applications and platforms, edge-based sensor data collection and processing, computation offloading and QoS-optimal task scheduling, and security/privacy. This course will also explore the current challenges facing edge computing. Participation in a project is a requirement in this course. (3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276).
CIS 490 - Advanced Topics [F, W, S]
Intended for senior and graduate students in CIS. For specific topics, consult the current semester's schedule of courses. (1-3 credits)
Prerequisites: CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE/MATH 276).
CIS 491 - Research Project I [F, W, S]
Provides the advanced student with the opportunity to undertake a research project under the supervision of a faculty member. At least two weeks prior to registration in the semester when a course is to be elected, an interested student must submit to the CIS Chair and one CIS faculty member a written request for permission to elect a research course on the appropriate form available in the CIS Office. The request will include a description of the proposed research project. The CIS Chair will then review the proposal with faculty members to ascertain the availability of relevant faculty supervision and to establish appropriate credit. Grades will be granted on a Pass/Fail (S/E) basis exclusively. (1-4 credits)
Prerequisites: Senior standing in the CIS program and permission of the CIS Chair.
CIS 492 - Research Project II [F, W, S]
A second registration for a research project in CIS. (1-4 credits)
Prerequisites: Senior standing in the CIS program and permission of CIS Chair.
CIS 493 - Independent Study I [F, W, S]
Readings or analytical assignments in accordance with the needs and interests of those enrolled and agreed upon by the student and an instructor, which shall not duplicate a formal course offering. (1-4 credits)
Prerequisites: Permission of CIS Chair and an instructor.
CIS 494 - Independent Study II [F, W, S]
A second registration for an independent study in CIS. (1-4 credits)
Prerequisites: Permission of CIS Chair and an instructor.
CIS 4951 - Design Seminar I [F, W, S]
Students participate in the design and implementation of a major software project. Seminar topics discussed include: computing ethics and professional practice in computer science. (2 credits)
Prerequisites: CIS 375 and CIS 427 and CIS 450
CIS 4952 - Design Seminar II [F, W, S]
Students continue to participate in the design and implementation of a major software project. Seminar topics include: computing ethics and professional practice. (2 credits)
Prerequisites: CIS 4951
CIS 4961 - Design Seminar for Software Engineers I [F, W, S]
Software engineering students participate in the design and implementation of a major software project. Seminar topics discussed include: computing ethics and professional practice in software engineering. (2 credits)
Prerequisites: CIS 376.
CIS 4962 - Design Seminar for Software Engineers II [F, W, S]
Software engineering students continue to participate in the design and implementation of a major software project. Seminar topics discussed include: computing ethics and professional practice in software engineering. (2 credits)
Prerequisites: CIS 4961 and previous or concurrent enrollment in CIS 476.
CIS 4971 - Capstone Seminar for Data Scientists I [F, W, S]
Data Science students participate in the design and implementation of a major data science project. Seminar topics discussed include: computing ethics and professional practice in data science. (2 credits)
Prerequisites: CIS 3200 and (STAT 325 or IMSE 317).
CIS 4972 - Capstone Seminar for Data Scientists II [F, W, S]
Data science students continue to participate in the design and implementation of a major data science project. Seminar topics discussed include: computing ethics and professional practice in data science. (2 credits)
Prerequisites: CIS 4971 and previous or concurrent enrollment in STAT 430.
CIS 4981 - Design Seminar for Dual Degree CIS-DS I [F, W, S]
Dual degree CIS and Data Science students participate in the design and implementation of a major software project involving data science. Seminar topics discussed include computing ethics and professional practice in data science. (2 credits)
Prerequisites: CIS 375 and CIS 3200 and (STAT 325 or IMSE 317) and CIS 427 and CIS 450.
CIS 4982 - Design Seminer for Dual Degree CIS-DS II [F, W, S]
Dual Degree CIS and Data Science students participate in the design and implementation of a major software project involving data science. Seminar topics discussed include computing ethics and professional practice in data science. (2 credits)
Prerequisites: CIS 4981 and previous or concurrent enrollment in STAT 430.
CIS 499 - Internship [F, W, S]
Student works with an industrial sponsor in the area of CIS. (1 credit)
Prerequisites: Permission of internship coordinator.
Earn a Concurrent Degree!
A current College of Engineering and Computer Science (CECS) undergraduate student may pursue a concurrent Bachelor of Science in Engineering (BSE) degree in Engineering Mathematics or CIS Mathematics.
Students declare this degree in order to earn two degrees concurrently: a BSE degree in their principal engineering major and a BSE degree in Engineering Mathematics or CIS Mathematics. Both degrees must be earned at the same time.
Cooperative Education
Work experience opportunities are available for qualified computer and information science students through the CECS Cooperative Education Office. These programs allow students to earn a salary and credit hours which can be applied toward graduation while working full-time during alternate semesters or part-time during regular semester for participating firms or governmental agencies (Acromag, APPLE, Chrysler, DENSO, DTE Energy, Ford, General Electric, Harmon Becker, NASA, Nokia, TACOM, U.S. Steel, Xilinx, etc.).