Computer and Information Science

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.

Required courses in the Computer and Information Science (CIS) major stress theory and application, as well as the role of other fields such as mathematics, statistics, electrical and computer engineering, business, and software engineering, among others. The curriculum is modeled on the recommendations of the two main professional computing societies, the Association of Computing Machinery (ACM) and the Institute for Electrical and Electronic Engineering (IEEE). Written and oral communications skills are emphasized throughout the program. The use of teamwork on projects is practiced in many courses. Professionalism and ethics are also stressed for future computing professionals. The CIS courses include software engineering, algorithm analysis, networking, security, programming languages, game design, computer architecture, data structures, operating systems, artificial intelligence, database management systems, graphics, information systems, robotics, web development and capstone design courses. The CIS curricula prepare students to begin careers as computing professionals or to pursue graduate study in the field.

A candidate for the degree of BS in CIS is required to select one of four concentrations: Computer Science, Information Systems, Game Design, or Artificial Intelligence. The program encourages innovation on the part of students, prepares students for graduate education, trains students to communicate effectively, and provides students with the tools needed to become leaders in their profession.

The Computer Science (CS) concentration strengthens your knowledge of how computer systems work and prepares you for positions in embedded and systems programming, graphics and visualization, networks, scientific programming, and web technology, among others.

The Information Systems (IS) concentration is oriented toward the design and development of computer information systems. It prepares graduates for positions in database management and applications, enterprise programming, information systems design, systems analysis, web-based information systems, and information engineering, among others.

The Game Design (GD) concentration is tailor-made for those whose dreams include careers in game programming, user experience design and augmented reality applications. It is intended to provide students with the theoretical knowledge and practical experience needed to program computer games or virtual user experiences at the professional level.

The Artificial Intelligence (AI) concentration is designed to help students build a comprehensive framework with core concepts and skills for artificial intelligence. It prepares graduates for positions in intelligent system development, machine learning, deep learning, natural language processing, knowledge engineering, AI-powered analytics, business intelligence, among others.

The BS in Computer and Information Science program is accredited by the Computing Accreditation Commission of ABET.

Program Educational Objectives

  1. Our graduates will be successfully employed in Computer and Information Science–related fields or other career paths, including industrial, academic, governmental, and non-governmental organizations, or will be successful graduate students in a program preparing them for such employment.
  2. Our graduates will lead and participate in culturally diverse and inclusive teams, becoming global and ethical collaborators.
  3. Our graduates will continue their professional development through, for example, obtaining continuing education credits, professional registration or certifications, or post-graduate study credits or degrees.

Student Outcomes

To achieve the educational objectives of the program, graduates of the BS in CIS program will have an ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Dearborn Discovery Core (General Education)

All students must satisfy the University’s Dearborn Discovery Core requirements, in addition to the requirements for the major

In addition to completion of the Dearborn Discovery Core, the following courses are required to earn a B.S. degree in Computer and Information Science from UM-Dearborn.

Major Requirements

Prerequisite Courses
COMP 105Writing & Rhetoric I3
COMP 270Tech Writing for Engineers3
ECON 201Prin: Macroeconomics3
or ECON 202 Prin: Microeconomics
MATH 115Calculus I4
MATH 116Calculus II4
MATH 227Introduction to Linear Algebra3
CIS 150Computer Science I4
CIS 200Computer Science II4
CIS 275Discrete Structures I4
IMSE 317Eng Probability and Statistics3
Select one laboratory science sequence from the following:8
Intro Org and Environ Biology
and Field Biology
General Chemistry IA
and General Chemistry IIA
Physical Geology
and Historical Geology
Introductory Physics I
and Introductory Physics II
General Physics I
and General Physics II
CIS Core
CIS 310Computer Org and Assembly Lang4
CIS 350Data Struc and Algorithm Anlys4
CIS 375Software Engineering I4
CIS 427Comp Networks and Dis Process4
CIS 450Operating Systems4
CIS 4951Design Seminar I2
CIS 4952Design Seminar II2

CIS students must choose a concentration in Computer Science, Information Systems, Game Design, or Artificial Intelligence.  Concentration requirements are listed below.

Artificial Intelligence Concentration Requirements

Natural Science
Four additional science credits; must be a different subject than the two course sequence prerequisite:4
Introduction to Astronomy
and Introductory Astronomy Lab
Intro Org and Environ Biology
Field Biology
General Chemistry IA
General Chemistry IIA
Organic Chemistry I
Organic Chemistry II
Organic Chemistry Laboratory
Physical Geology
Historical Geology
Introductory Physics I
Introductory Physics II
General Physics I
General Physics II
All of the following are required:
CIS 298Intro to Python3
CIS 306Discrete Structures II4
CIS 411Introduction to Natural Language Processing3
CIS 479Intro to Artificial Intel3
CIS 481Computational Learning3
CIS 483Deep Learning3
Technical Electives
Select 18 credit hours:18
Software Engineering Tools
Prac. Comp. Sec.
Software Engineering II
Industrial Robots
Introduction to Digital Forensics
Algorithm Analysis & Design
Introduction to Quantum Computing
Database Mgmt Systems 1
Massive Data Management
Dec Support and Exp Systems
Information Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Wireless & Mobi Comp Security
Text Mining and Information Retrieval
Intro Computr & Ntwrk Security
Intro to Software Security
Network and Mobile Forensics
Compiler Design
Soft Arch & Design Patterns
Trustworthy Artificial Intelligence
Data Security and Privacy
Edge Computing
Introduction to Numerical Analysis
Matrix Computation
Experiential Honors Prof. Prac
Appl Business Tech for Engr
Exper Honors Directed Research
Exper Hnrs Dir Dsgn
Entrepreneurial Thinking&Behav
General Electives
Any 100 to 400 level course with no more than 6 credits, as needed to get a minimum of 120 credits for graduation.
1

Only one course from CIS 421 or CIS 422 may be used towards the 120 credits of the degree.

Computer Science Concentration Requirements

Four additional science credits; must be a different subject than the two course sequence prerequisite:4
Introduction to Astronomy
and Introductory Astronomy Lab
Intro Org and Environ Biology
Field Biology
General Chemistry IA
General Chemistry IIA
Organic Chemistry I
Organic Chemistry II
Organic Chemistry Laboratory
Physical Geology
Historical Geology
Introductory Physics I
Introductory Physics II
General Physics I
General Physics II
CIS 306Discrete Structures II4
CIS 296Java Programming3
or CIS 297 Intro to C Sharp
or CIS 298 Intro to Python
CIS 405Algorithm Analysis & Design3
or CIS 479 Intro to Artificial Intel
One Courses (from below)3
Intro to Artificial Intel (If CIS 479 also selected above, an additional Tech Elective is required)
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
Eng Economy and Dec Anlys
Technical Electives
Select 24 credit hours from the following:24
Software Engineering Tools
Prac. Comp. Sec.
Software Engineering II
Industrial Robots
Introduction to Digital Forensics
Programming Languages
Algorithm Analysis & Design
Introduction to Natural Language Processing
Introduction to Quantum Computing
Database Mgmt Systems 1
Massive Data Management
Dec Support and Exp Systems
Information Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Text Mining and Information Retrieval
Wireless & Mobi Comp Security
Intro Computr & Ntwrk Security
Intro to Software Security
Computer Graphics
Information Visualization and Virtualization
Network and Mobile Forensics
Compiler Design
Soft Arch & Design Patterns
Intro to Artificial Intel
Computational Learning
Trustworthy Artificial Intelligence
Deep Learning
Data Security and Privacy
Computer Game Design & Implem
Computer Game Design II
Dynamical Systems
Edge Computing
Introduction to Numerical Analysis
Matrix Computation
Experiential Honors Prof. Prac
Appl Business Tech for Engr
Exper Honors Directed Research
Exper Hnrs Dir Dsgn
Entrepreneurial Thinking&Behav
General Electives
Any 100 to 400 level course with no more than 6 credits, as needed to get a minimum of 120 credits for graduation.
1

Only one course from CIS 421 or CIS 422 may be used towards the 120 credits of the degree.

Information Systems Concentration Requirements

ACC 298Financial Accounting3
IMSE 3005Intro to Operations Research4
CIS 296Java Programming3
or CIS 297 Intro to C Sharp
or CIS 298 Intro to Python
CIS 421Database Mgmt Systems4
CIS 425Information Systems4
CIS 476Soft Arch & Design Patterns3
OB 354Behavior in Organizations3
Two Courses (From below)6
Intro to Artificial Intel
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
Eng Economy and Dec Anlys
Technical Electives
Select 14 credit hours:14
Software Engineering Tools
Prac. Comp. Sec.
Software Engineering II
Industrial Robots
Introduction to Digital Forensics
Programming Languages
Algorithm Analysis & Design
Introduction to Natural Language Processing
Introduction to Quantum Computing
Dec Support and Exp Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Text Mining and Information Retrieval
Wireless & Mobi Comp Security
Intro Computr & Ntwrk Security
Intro to Software Security
Computer Graphics
Information Visualization and Virtualization
Network and Mobile Forensics
Compiler Design
Intro to Artificial Intel
Computational Learning
Trustworthy Artificial Intelligence
Deep Learning
Data Security and Privacy
Computer Game Design & Implem
Computer Game Design II
Edge Computing
Dynamical Systems
Introduction to Numerical Analysis
Matrix Computation
Experiential Honors Prof. Prac
Appl Business Tech for Engr
Exper Honors Directed Research
Exper Hnrs Dir Dsgn
Entrepreneurial Thinking&Behav
General Electives
Any 100 to 400 level course with no more than 6 credits, as needed to get a minimum of 120 credits for graduation.

Game Design Concentration Requirements

Natural Science
Four additional science credits; must be a different subject than the two course sequence prerequisite:4
Introduction to Astronomy
and Introductory Astronomy Lab
Intro Org and Environ Biology
Field Biology
General Chemistry IA
General Chemistry IIA
Organic Chemistry I
Organic Chemistry II
Organic Chemistry Laboratory
Physical Geology
Historical Geology
Introductory Physics I
Introductory Physics II
General Physics I
General Physics II
All of the following are required:
CIS 297Intro to C Sharp3
CIS 306Discrete Structures II4
CIS 451Computer Graphics3
CIS 452Information Visualization and Virtualization3
CIS 479Intro to Artificial Intel3
CIS 487Computer Game Design & Implem3
CIS 488Computer Game Design II3
Technical Electives
Select 15 credit hours:15
Software Engineering Tools
Prac. Comp. Sec.
Software Engineering II
Industrial Robots
Introduction to Digital Forensics
Algorithm Analysis & Design
Introduction to Natural Language Processing
Introduction to Quantum Computing
Database Mgmt Systems 1
Massive Data Management
Dec Support and Exp Systems
Information Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Wireless & Mobi Comp Security
Text Mining and Information Retrieval
Intro Computr & Ntwrk Security
Intro to Software Security
Network and Mobile Forensics
Compiler Design
Soft Arch & Design Patterns
Computational Learning
Trustworthy Artificial Intelligence
Deep Learning
Data Security and Privacy
Edge Computing
Introduction to Numerical Analysis
Matrix Computation
Experiential Honors Prof. Prac
Appl Business Tech for Engr
Exper Honors Directed Research
Exper Hnrs Dir Dsgn
Entrepreneurial Thinking&Behav
General Electives
Any 100 to 400 level course with no more than 6 credits, as needed to get a minimum of 120 credits for graduation.
1

Only one course from CIS 421 or CIS 422 may be used towards the 120 credits of the degree.

Minor in Computer and Information Science

The minor in CIS requires a minimum of 24 credit hours, which must include CIS 150, CIS 200, CIS 275, CIS 350 and eight additional credit hours at the 300 or 400 level approved by the student’s faculty advisor in CIS. An introduction to calculus (MATH 115) is required and does not count toward the 24 hours. Completion of MATH 116 is strongly recommended.

Learning Goals

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. 
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions. 

CIS 112     Computer Literacy/Info Mgmt     3 Credit Hours

This is a microcomputer literacy course with primary emphasis on the application tools of the word processor, spreadsheets, and database. Additional topics of computer terms, systems, and use in society are included. The course is intended for undergraduates in the College of Arts, Sciences, and Letters. No previous experience with computers is expected. (YR).

CIS 125     Survey of Computer Science     3 Credit Hours

A survey of computer science topics, including history of computing, office productivity software, the internet, HTML, JavaScript, web design, algorithms, assemblers and compilers, gates and logic design, models of computation, artificial intelligence and expert systems, computing ethics, privacy issues, intellectual property. No credit for CIS majors. (F,W,S).

CIS 150     Computer Science I     4 Credit Hours

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.

Prerequisite(s): MATH 115* or MATH 113* or Mathematics Placement with a score of 116

Corequisite(s): CIS 150L

CIS 1501     CS I for Data Scientists     4 Credit Hours

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. (F,W,S)

Prerequisite(s): MATH 115* or MATH 113*

CIS 200     Computer Science II     4 Credit Hours

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-orientated 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.

Prerequisite(s): MATH 115 and (CIS 150 or CCM 150)

Corequisite(s): CIS 200L

CIS 2001     CS II for Data Scientists     4 Credit Hours

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 pointers, templates, and inheritance. 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. (F, W, S)

Prerequisite(s): CIS 1501 and (MATH 115 or MATH 113)

CIS 205     Comp Programming for Engineers     3 Credit Hours

Full Course Title: Computer Programming for Engineers- 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.

Prerequisite(s): ENGR 100 or (MATH 105 or Mathematics Placement with a score of 113)

CIS 275     Discrete Structures I     4 Credit Hours

This course introduces students to various topics in discrete mathematics, such as set theory, mathematical logic, trees, and graph theory. Applications to relational databases, modeling reactive systems and program verification are also discussed. (F,W,S)

Prerequisite(s): (MATH 115 or Mathematics Placement with a score of 116) and CIS 200*

CIS 285     Software Engineering Tools     3 Credit Hours

This course will cover 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 one lecture hour and one two-hour laboratory. (F,W)

Prerequisite(s): CIS 200*

CIS 290     Topic in Programming Languages     2 Credit Hours

One significant programming language is covered in depth. The particular language changes from term to term. The language chosen might be Ada, C, MODULA 2, USP, PROLOG, or SMALLTALK.

Prerequisite(s): CIS 200

CIS 294     Programming with Visual Basic     3 Credit Hours

An introduction to create professional-looking applications using the graphical user interface of Windows. Students learn how to create graphical objects and controls, write event driven code that responds to clicking on buttons, work with multiple forms and executable files. (F,S).

Prerequisite(s): CIS 200 or IMSE 200

CIS 296     Java Programming     3 Credit Hours

Course covers Java Programming language, focusing on GUI development, distributed computing and network applications.

Prerequisite(s): CIS 200 or CIS 2001

CIS 297     Intro to C Sharp     3 Credit Hours

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. (W)

Prerequisite(s): CIS 200 or CIS 2001

CIS 298     Intro to Python     3 Credit Hours

Full Title: Introduction to Python An introduction to the Python programming language and its various libraries, packages, and tookits. The focus of this course will be on the development of analytics/data science applications. (W)

Prerequisite(s): CIS 200

Restriction(s):
Can enroll if Level is Undergraduate

CIS 299     Internship     1 Credit Hour

Student works with an industrial sponsor in the area of CIS. Approval of Internship Coordinator required. (F,W,S).

CIS 306     Discrete Structures II     4 Credit Hours

This course introduces students to further topics in discrete mathematics, including theory of computation, more complexity theory, coding theory, and game theory.

Prerequisite(s): CIS 275

CIS 310     Computer Org and Assembly Lang     4 Credit Hours

The architecture of computer systems and associated software. Topics include digital logic circuits, computer interfacing, interrupt systems, input/output systems, memory systems, assemblers and assembly language programming, and computer networks. (F,W,S).

Prerequisite(s): MATH 115 and CIS 200 and CIS 275

CIS 316     Prac. Comp. Sec.     3 Credit Hours

Full Title: Practical Aspects of Computer Security THis course provides a practical introduction to a broad range of security topics including legal, ethical and professional issues in information security. Covered topics include: practical computer security principles; firewalls, malware, and intrusion detection; cryptography basics and its applications; mobile devices and related security issues; network technologies and their vulnerabilities. (YR)

Prerequisite(s): CIS 200

Restriction(s):
Can enroll if College is Engineering and Computer Science

CIS 3200     Data Science II     4 Credit Hours

This course provides an overview of what Big Data is and 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. (W)

Prerequisite(s): (CIS 2001 or CIS 200) and (ECE 3100 or STAT 305)

CIS 350     Data Struc and Algorithm Anlys     4 Credit Hours

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. (F,W,S)

Prerequisite(s): MATH 115 and CIS 200 and CIS 275

CIS 3501     Data Struc & Alg Anlys for SE     4 Credit Hours

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. (F,W,S)

Prerequisite(s): MATH 115 and CIS 200 and CIS 275

CIS 375     Software Engineering I     4 Credit Hours

This course presents 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 phases of the software engineering process will be modeled using UML. (F,W)

Prerequisite(s): ((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 Composition Placement Score with a score of 40 or Composition Placement Score with a score of 107)

CIS 376     Software Engineering II     4 Credit Hours

This course continues the formal development of the software engineering material begun in CIS 375. Topics covered include 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. (W,S)

Prerequisite(s): CIS 375

CIS 381     Industrial Robots     4 Credit Hours

The course introduces students in engineering and computer science to fundamentals of robotics technology, programming and their applications in industrial environment. The emphasis will be on robotics anatomy and configurations, robotocs kinematics, end effectors, use of sensors in robotics, robotics programming, design of robot workcell, robotics applications to production problems, cost justifications and robotics safety, rather than on the extensive theory of robotics. Three-hour lecture and three-hour laboratory per week.

Prerequisite(s): MATH 115

Restriction(s):
Can enroll if Class is Junior or Senior

CIS 387     Introduction to Digital Forensics     4 Credit Hours

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.

Prerequisite(s): (CIS 200 or ECE 270) and (CIS 310* or ECE 370* or ECE 372*)

Restriction(s):
Cannot enroll if Class is Freshman
Can enroll if Level is Undergraduate

CIS 390     Topics in Computer Science     1 to 3 Credit Hours

A course designed to offer selected topics in an area of computer science. The specific topics will be announced (together with special prerequisites) each time offered. Students must elect different topics to take both CIS 390 and CIS 391. (OC).

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)

CIS 391     Topics in Computer Science II     1 to 3 Credit Hours

A course designed to offer selected topics in an area of computer science. The specific topics will be announced (together with special prerequisites) each time offered. Students must elect different topics to take both CIS 390 and CIS 391. (OC).

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)

CIS 399     Internship     1 Credit Hour

Student works with industrial sponsor in the area of CIS. Permission of Internship Coordinator required. (F,W,S).

CIS 400     Programming Languages     4 Credit Hours

Systematic study 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 in solving various programming problems. (F,W).

Prerequisite(s): (CIS 350 or IMSE 350 or CIS 3501) or (ECE 370 and MATH 276) or (ECE 370 and ECE 276)

CIS 405     Algorithm Analysis & Design     3 Credit Hours

This course investigates how to design efficient algorithms. Topics include asymptotic analysis, amortized analysis, divide-and-conquer, dynamic programming, greedy algorithms, branch and bound, backtracking, lower bounds, NP-completeness and approximation algorithms.

Prerequisite(s): CIS 350

CIS 411     Introduction to Natural Language Processing     3 Credit Hours

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. (YR)

Prerequisite(s): CIS 350 or CIS 3501

CIS 412     Introduction to Quantum Computing     3 Credit Hours

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. Students cannot receive credit for both CIS 412 and CIS 512.

Prerequisite(s): ((CIS 350 or CIS 3501 or IMSE 351) or (ECE 370 and (ECE 276 or MATH 276)) ) and (IMSE 317* or STAT 325*)

CIS 421     Database Mgmt Systems     4 Credit Hours

An introduction to database systems, concepts, and techniques. Topics covered include: database environments, ER modeling, relational data model, object-oriented databases, database design theory and methodology, database languages, query processing and optimization, concurrency control, database recovery, and database security.

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 351 or (ECE 370 and MATH 276)

CIS 422     Massive Data Management     4 Credit Hours

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. (F)

Prerequisite(s): (CIS 350 or CIS 3501 or IMSE 350) or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)

CIS 425     Information Systems     4 Credit Hours

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.

Prerequisite(s): CIS 375 and (CIS 421* or CIS 422*)

Restriction(s):
Cannot enroll if Class is Freshman or Sophomore

CIS 427     Comp Networks and Dis Process     4 Credit Hours

Study of the management aspects of computing networks and distributed systems. Topics include network architectures (ISO/OSI, TCP/IP, ATM), communication hardware (transmission media, network adaptors, switches), encoding, framing, error detection and correction, reliable transmission, data link control and LAN technology, internetworking, routing/congestion control, network design/management.

Prerequisite(s): ((CIS 350 or CIS 3501 or IMSE 351) or (ECE 370 and MATH 276) or (ECE 370 and ECE 276)) and IMSE 317

CIS 435     Web Technology     3 Credit Hours

This course deals with the study of technologies used to design and implement multimedia web sites. Topics include web servers, HTML, CGI, scripting languages, Java applets, back-end database connectivity, web security, multimedia, XML. (F,W).

Prerequisite(s): CIS 375* or CIS 553*

Restriction(s):
Can enroll if Class is Junior or Senior
Can enroll if Level is Undergraduate
Cannot enroll if Major is

CIS 436     Mobile App Des & Impl     3 Credit Hours

This course introduces students to the development of software applications for programmable mobile and wireless intelligent hand-held devises. Topics covered include the different mobile development platforms, best practices in mobile user interaction design, software quality assurance in mobile environment, security and privacy issues, and context-aware computing. Students will participate in a final project.

Prerequisite(s): CIS 375*

Restriction(s):
Can enroll if Class is Junior or Senior
Can enroll if Level is Undergraduate
Can enroll if College is Engineering and Computer Science or Arts, Sciences, and Letters

CIS 437     Advanced Networking     3 Credit Hours

Topics include an overview of the internet, congestion control, quality of service, internet multicasting, 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).

Prerequisite(s): CIS 427

Restriction(s):
Cannot enroll if College is Business

CIS 439     Text Mining and Information Retrieval     3 Credit Hours

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.

Prerequisite(s): (CIS 350 or CIS 3501 or IMSE 350) or (ECE 370 and (ECE 276 or MATH 276))

CIS 446     Wireless & Mobi Comp Security     3 Credit Hours

Full course title: Wireless and Mobile Computing Security. 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. (YR)

Prerequisite(s): CIS 200 or CIS 2001

CIS 447     Intro Computr & Ntwrk Security     3 Credit Hours

This course will provide a broad-spectrum introduction to the fundamental principles of computer and network security. Topic 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.

Prerequisite(s): CIS 450*

Restriction(s):
Cannot enroll if College is Education, Health, and Human Services or Business

CIS 449     Intro to Software Security     3 Credit Hours

This course provides a broad-spectrum introduction to the fundamental principles of software security, as well as the approaches that allow understanding common software 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. (YR)

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and ECE 276) or (ECE 370 and MATH 276)

CIS 450     Operating Systems     3 or 4 Credit Hours

Introduction to computer operating systems. Process management, CPU scheduling, memory management, file systems and I/O devices. Advanced topics, e.g., multiprogramming and multitasking, virtual memory, deadlock, I/O, job scheduling, and performance analysis using queueing models, will be introduced. Case studies of modern operating systems. A design project is required.

Prerequisite(s): CIS 310 and (CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and MATH 276) or (ECE 370 and ECE 276)) and IMSE 317*

CIS 451     Computer Graphics     3 Credit Hours

Basic geometrical concepts: graphics output primatives, two-dimensional transformations, windowing and clipping, three-dimensional viewing, visible surface detection methods, and graphical user interfaces. (F).

Prerequisite(s): (MATH 217 or MATH 227 or MATH 228) and ((CIS 350 or CIS 3501 or IMSE 350) or (ECE 370 and MATH 276) or (ECE 370 and ECE 276))

CIS 452     Information Visualization and Virtualization     3 Credit Hours

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.

Prerequisite(s): CIS 451 or CIS 487 or CIS 450

Restriction(s):
Cannot enroll if College is Education, Health, and Human Services or Business

CIS 467     Network and Mobile Forensics     4 Credit Hours

Following an overview of essential principles of digital forensics, this course focuses on studying network and mobile Forensics. Students will examine in-depth concepts in evidence collection and preservation, live incident response, activity reconstruction, as well as applications of contemporary commercial forensic investigative software, in network and mobile environments.

Prerequisite(s): (CIS 427* or ECE 471*)

Restriction(s):
Cannot enroll if Class is Freshman
Cannot enroll if College is Business

CIS 474     Compiler Design     3 Credit Hours

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.

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and MATH 276)

CIS 476     Soft Arch & Design Patterns     3 Credit Hours

This course focuses on design patterns in object-oriented programming. This 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. (F,W)

Prerequisite(s): CIS 375

Restriction(s):
Can enroll if College is Engineering and Computer Science

CIS 479     Intro to Artificial Intel     3 Credit Hours

This course introduces students to basic concepts and methods of artificial intelligence from a computer science perspective. Emphasis of the course 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. (S).

Prerequisite(s): (CIS 350 or CIS 3501 or IMSE 350 or (ECE 370 and MATH 276) or (ECE 370 and ECE 276)) and (IMSE 317 or STAT 325)

CIS 481     Computational Learning     3 Credit Hours

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 robotics will also motivate the course material. (W)

Prerequisite(s): CIS 306 and (MATH 217* or MATH 227*) and (IMSE 317* or BENG 364* or MATH 425* or STAT 325*)

Restriction(s):
Cannot enroll if Class is Graduate or Doctorate

CIS 482     Trustworthy Artificial Intelligence     3 Credit Hours

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. (W).

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 270 and MATH 276) or (ECE 270 and ECE 276)

CIS 483     Deep Learning     3 Credit Hours

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.

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 270 and ECE 276) or (ECE 370 and MATH 276)

CIS 4851     Data Security and Privacy     3 Credit Hours

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). (W)

Prerequisite(s): CIS 200 or CIS 2001

CIS 487     Computer Game Design & Implem     3 Credit Hours

This course deals with the study of the technology, science and art 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, scripting languages, operating systems, files systems, networks, simulation engines and multi-media design systems. Lecture 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. (F).

Prerequisite(s): CIS 375*

Restriction(s):
Can enroll if Class is Junior or Senior
Cannot enroll if Major is

CIS 488     Computer Game Design II     3 Credit Hours

This course is a continuation of the material studied in CIS 487. The focus of the course will be hands-on development of computer game development tools (e.g. game engines). 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. (W)

Prerequisite(s): CIS 487

Restriction(s):
Can enroll if Class is Junior or Senior
Cannot enroll if Major is

CIS 489     Edge Computing     3 Credit Hours

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.

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 270 and ECE 276) or (ECE 370 and MATH 276)

CIS 490     Advanced Topics     1 to 3 Credit Hours

This course is intended for seniors and graduate-level students in CIS. For specific topic, consult current semester's Schedule of Classes. (OC).

Prerequisite(s): CIS 350 or CIS 3501 or IMSE 350 or (ECE 270 and ECE 276) or (ECE 370 and MATH 276)

CIS 491     Research Project I     1 to 4 Credit Hours

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 such 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 review the proposal with faculty members to ascertain availability of relevant faculty supervision and to establish appropriate credit. Grades will be granted on a Pass/Fail (S/E) basis exclusively. (F,W,S).

Restriction(s):
Can enroll if Class is Senior
Can enroll if Major is CIS/Information Systems

CIS 492     Research Project II     1 to 4 Credit Hours

This course is a second registration for a research project in CIS. (F,W,S).

Restriction(s):
Can enroll if Class is Senior
Can enroll if Major is CIS/Information Systems

CIS 493     Independent Study I     1 to 4 Credit Hours

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. Permission of instructor required. (F,W,S).

CIS 494     Independent Study II     1 to 4 Credit Hours

This course is a second registration for an independent study in CIS. Permission of instructor required. (F,W,S).

CIS 4951     Design Seminar I     2 Credit Hours

Students participate in the design and implementation of a major software project. Seminar topics discussed include: computing ethics and professional practice. (F,W,S)

Prerequisite(s): CIS 375 and CIS 427 and CIS 450

Restriction(s):
Can enroll if Class is Senior
Can enroll if College is Engineering and Computer Science

CIS 4952     Design Seminar II     2 Credit Hours

Students continue to participate in the design and implementation of a major software project. Seminar topics discussed include: computing ethics and professional practice. (F,W,S)

Prerequisite(s): CIS 4951

Restriction(s):
Can enroll if College is Engineering and Computer Science

CIS 4961     Design Seminar for SE I     2 Credit Hours

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. (F,W,S)

Prerequisite(s): CIS 376

Restriction(s):
Can enroll if Class is Senior
Can enroll if College is Engineering and Computer Science

CIS 4962     Design Seminar for SE II     2 Credit Hours

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.

Prerequisite(s): CIS 4961 and CIS 476*

Restriction(s):
Can enroll if College is Engineering and Computer Science

CIS 4971     Cap Sem for Data Sci I     2 Credit Hours

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. (F, W, S)

Prerequisite(s): CIS 3200 and (STAT 325 or IMSE 317)

Restriction(s):
Can enroll if Class is Senior

CIS 4972     Cap Proj for Data Sci II     2 Credit Hours

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. (F, W, S)

Prerequisite(s): CIS 4971 and STAT 430*

Restriction(s):
Can enroll if Class is Senior

CIS 4981     Design Seminar for CIS-DS I     2 Credit Hours

Full Course Title: Design Seminar for Dual Degree CIS-DS Majors I 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. (F,W,S)

Prerequisite(s): CIS 375 and CIS 3200 and (STAT 325 or IMSE 317) and CIS 427 and CIS 452

Restriction(s):
Can enroll if Class is Senior

CIS 4982     Design Seminar for CIS-DS II     2 Credit Hours

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. (F,W,S)

Prerequisite(s): CIS 4981 and STAT 430*

Restriction(s):
Can enroll if Class is Senior

CIS 499     Internship     1 Credit Hour

Student works with industrial sponsor in area of CIS. Approval of Internship Coordinator required. (F,W,S).

*An asterisk denotes that a course may be taken concurrently.

Frequency of Offering

The following abbreviations are used to denote the frequency of offering: (F) fall term; (W) winter term; (S) summer term; (F, W) fall and winter terms; (YR) once a year; (AY) alternating years; (OC) offered occasionally