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 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. The BS in Computer and Information Science program is accredited by the Computing Accreditation Commission of ABET, www.abet.org

A candidate for the degree of BS in CIS is required to select one of two concentrations: Computer Science or Information Systems. A BS in Software Engineering is also offered. Both programs encourage innovation on the part of students, prepare students for graduate education, train students to communicate effectively, and provide students with the tools needed to become leaders in their profession.

The Computer Science concentration emphasizes understanding how computer systems work, as well as their uses as critical components in other disciplines, and prepares its graduates for positions in systems programming, scientific programming, networks, game programming, web technology, graphics and visualization, and enterprise computing among others.

The Information Systems concentration is oriented toward the design and development of computer information systems. It includes more business-related courses than the computer science concentration, and prepares graduates for positions in applications programming, database management, information systems design, and information engineering, among others.

Program Objectives

  1. Our graduates will be successfully employed in computer 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 teams, becoming global collaborators.
  3. Our graduates will continue their professional development by obtaining continuing education credits, professional registration or certifications, or post-graduate study credits or degrees.

Computer Science Program Outcomes

  1. An ability to apply knowledge of computing and mathematics appropriate to the discipline;
  2. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution;
  3. An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs;
  4. An ability to function effectively on teams to accomplish a common goal;
  5. An understanding of professional, ethical, legal, security, and social issues and responsibilities;
  6. An ability to communicate effectively with a range of audiences;
  7. An ability to analyze the local and global impact of computing on individuals, organizations, and society;
  8. A recognition of the need for, and an ability to engage in, continuing professional development;
  9. An ability to use current techniques, skills, and tools necessary for computing practices;
  10. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;
  11. An ability to apply design and development principles in the construction of software systems of varying complexity.
  12. An ability to program.

Dearborn Discovery Core Requirement

The minimum passing grade for a Dearborn Discovery Core (DDC) course is 2.0. The minimum GPA for the program is 2.0. In addition, the DDC permits any approved course to satisfy up to three credit hours within three different categories. Please see the General Education Program: The Dearborn Discovery Core section for additional information.

Foundational Studies

Written and Oral Communication (GEWO) – 6 Credits

Upper Level Writing Intensive (GEWI) – 3 Credits

Quantitative Thinking and Problem Solving (GEQT) – 3 Credits

Critical and Creative Thinking (GECC) – 3 Credits

Areas of Inquiry

Natural Science (GENS) – 7 Credits

  • Lecture/Lab Science Course
  • Additional Science Course

Social and Behavioral Analysis (GESB) – 9 Credits

Humanities and the Arts (GEHA) – 6 Credits

Intersections (GEIN) – 6 Credits

Capstone

Capstone (GECE) – 3 Credits

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.

General Requirements

General Requirements
Tech Writing for Engineers (Also fulfills 3 credits of DDC Written and Oral Communication)
Prin: Macroeconomics (ECON 201 or 202 also fulfill 3 credits of DDC Social and Behavioral Analysis)
Prin: Microeconomics
Mathematics and Statistics
MATH 115
MATH 116
Calculus I
and Calculus II
8
MATH 217Intro to Matrix Algebra (Not to be taken by Information Systems Concentrators)2-3
or MATH 227 Introduction to Linear Algebra
CIS 275Discrete Structures I4
IMSE 317Eng Probability and Statistics3
Laboratory Science Sequence
Select one from the following:8
Intro Org and Environ Biology
and Intro Molec & Cellular Biology
General Chemistry IA
and General Chemistry IIA
Gen Chemistry IB
and General Chemistry IIB
Physical Geology
and Historical Geology
Introductory Physics I
and Introductory Physics II
General Physics I
and General Physics II

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

Concentration Requirements for Computer Science Concentrators

Natural Science
Four additional science credits from:4
Introduction to Astronomy
and Introductory Astronomy Lab
Intro Org and Environ Biology
Intro Molec & Cellular Biology
General Chemistry IA
General Chemistry IIA
Gen Chemistry IB
General Chemistry IIB
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
Mathematics
CIS 306Discrete Structures II4
CIS Core
Seven computer and information science courses are required of Computer Science concentrators:28
Computer Science I
Computer Science II
Computer Org and Assembly Lang
Data Struc and Algorithm Anlys
Software Engineering I
Comp Networks and Dis Process
Operating Systems
CISC required
CIS 297Intro to C Sharp3
or CIS 296 Java Programming
CIS 405Algorithm Analysis & Design3
or CIS 479 Intro to Artificial Intel
Two Intersections Courses (from below)6
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
CIS 4951Design Seminar I2
CIS 4952Design Seminar II2
Technical CISC Electives
Select from the following:18
Software Engineering Tools
Software Engineering II
Industrial Robots
Digital Forensics I
Algorithm Analysis & Design
Database Mgmt Systems
Dec Support and Exp Systems
Information Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Intro Computr & Ntwrk Security
Computer Graphics
Inf Vis & Multimedia Gaming
Digital Forensics II
Compiler Design
Soft Arch & Design Patterns
Intro to Artificial Intel
Computer Game Design & Implem
Computer Game Design II
Dynamical Systems
Intro to Numerical Analysis
Matrix Computation
Intro to Microprocessors
Embedded System Design
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
General Electives
Select four credit hours: 14
1

Any for-credit courses; that is, courses not on the No Credit list, which is found at the end of the CECS Student Handbook.

Concentration Requirements for Information Systems Concentrators

Business and Operational Research
ACC 298Financial Accounting3
OB 354Behavior in Organization (Also fulfills 3 credits of DDC Social and Behavioral Analysis)3
IMSE 3005Intro to Operations Research4
CIS Core
Seven computer and information science courses are required of Information Science concentrators:28
Computer Science I
Computer Science II
Computer Org and Assembly Lang
Data Struc and Algorithm Anlys
Software Engineering I
Comp Networks and Dis Process
Operating Systems
CIS Information Systems Programming Language
One of the following two courses:
CIS 296Java Programming3
or CIS 297 Intro to C Sharp
CIS Information Systems Required
CIS 421Database Mgmt Systems4
CIS 425Information Systems4
CIS 476Soft Arch & Design Patterns3
Two Intersections Courses (From below)6
Intro to Artificial Intel
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
Eng Economy and Dec Anlys
CIS 4951Design Seminar I2
CIS 4952Design Seminar II2
Technical CIS Information Systems Electives
Select 11 credit hours:11
Software Engineering Tools
Discrete Structures II
Software Engineering II
Industrial Robots
Digital Forensics I
Programming Languages
Algorithm Analysis & Design
Web Technology
Advanced Networking
Intro Computr & Ntwrk Security
Computer Graphics
Inf Vis & Multimedia Gaming
Digital Forensics II
Compiler Design
Intro to Artificial Intel
Computer Game Design & Implem
Computer Game Design II
Dynamical Systems
Intro to Numerical Analysis
Matrix Computation
Intro to Microprocessors
Embedded System Design
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
General Electives
Select 4 credit hours: 14
1

Any for-credit courses; that is, courses not on the No Credit list, which is found at the end of the CECS Student Handbook.

Concentration Requirements for Game Design Concentrators

Natural Science
Four additional science credits from:4
Introduction to Astronomy
and Introductory Astronomy Lab
Intro Org and Environ Biology
Intro Molec & Cellular Biology
General Chemistry IA
Gen Chemistry IB
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
Mathematics
CIS 306Discrete Structures II4
CIS Core
Seven computer and information science courses are required of Game Design concentrators:28
Computer Science I
Computer Science II
Computer Org and Assembly Lang
Data Struc and Algorithm Anlys
Software Engineering I
Comp Networks and Dis Process
Operating Systems
CIS Game Design Programming Language
CIS 297Intro to C Sharp3
CIS Game Design Required
CIS 451Computer Graphics3
CIS 452Inf Vis & Multimedia Gaming3
CIS 479Intro to Artificial Intel3
CIS 487Computer Game Design & Implem3
CIS 488Computer Game Design II3
One Intersections Course (From below)3
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
Eng Economy and Dec Anlys
CIS 4951Design Seminar I2
CIS 4952Design Seminar II2
CIS Game Design Electives
Select 9 credit hours:9
Software Engineering II
Digital Forensics I
Algorithm Analysis & Design
Database Mgmt Systems
Dec Support and Exp Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Intro Computr & Ntwrk Security
Soft Arch & Design Patterns
Computational Learning
Intro to Numerical Analysis
Matrix Computation
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
General Electives
Select 3-4 credit hours 13-4
1

 Any for-credit courses; that is, courses not on the No Credit list, which is found at the end of the CECS Student Handbook.

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.

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 MPLS 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* or MPLS with a score of 116

CIS 167     Proxy Server     3 Credit Hours

This course wil lcover installation, configuration, and troubleshooting Microsoft Proxy Server, methods of controlling internet access, ehancement to performance monitor, and creation of a plan for integrating Proxy Server in an existing environment. (F,W)

Prerequisite(s): CIS 162

Restriction(s):
Can enroll if Program is

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 or MPLS with a score of 116) and (CIS 150 or IMSE 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 or MPLS with a score of 116

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 MPLS 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 (MATH 115 or MPLS with a score of 116) and CIS 200*

Corequisite(s):

CIS 280     Prac Aspects of Computer Sec     3 Credit Hours

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.

Prerequisite(s): 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 290A     Topic in Programming Languages     2 Credit Hours

TOPIC TITLE: Advanced Visual C++ Programming. Advanced treatment of the Visual C++ Programming.

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 IMSE 200

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

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 or IMSE 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 or MPLS with a score of 116) and (CIS 200 or IMSE 200) and CIS 275

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

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 or MPLS with a score of 116) or IMSE 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): (CIS 200 or IMSE 200) and CIS 275 and CIS 285* and MATH 115

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 CPAS with a score of 40)

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     Digital Forensics I     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 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 2001 or CIS 200) and CIS 3200

CIS 423     Dec Support and Exp Systems     3 Credit Hours

The application of artificial intelligence to building decision support and expert systems for management and other applications. Topics include fundamentals of artificial intelligence, knowledge representation and knowledge processing, tools for building expert systems (logic programming, expert shells), decision support system design (modeling and simulation), expert system design (knowledge engineering, learning). (F).

Prerequisite(s): CIS 421

CIS 425     Information Systems     4 Credit Hours

This course is an introduction to the principles of information systems analysis and design and their role in business organizations. Topics include Systems Development Life Cycle (SDLC), using CASE (Computer Aided Software Engineering) tools for systems design and analysis, prototyping, Rapid Application Development (RAD), extreme programming, quality assurance through software engineering, and object-oriented systems design and analysis using UML (Unified Modeling Language). Participation in a major design project is a requirement for this course.

Prerequisite(s): CIS 375 and CIS 421*

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

CIS 4261     Inf Sys Analysis & Design I     4 Credit Hours

An introduction to the principles of information systems analysis and design and their role in business organizations. Topics include information systems strategy and planning, ethical issues in information systems, system modeling, clean-room system engineering, domain ontologies, UML, Enterprise Unified Process, e-business, and supply-chain management, deployment and support. Participation in a major design project is a requirement for this course. (F).

Prerequisite(s): CIS 375 and CIS 421*

CIS 4262     Inf Sys Analysis & Design II     4 Credit Hours

This course is a continuation of CIS 4261 and provides students with breadth and depth in the information systems area. Topics include web-based information systems, e-commerce, computer-supported collaborative work, workflow systems, data mining, and data warehousing. Participation in a major design project is a requirement of this course. (W).

Prerequisite(s): CIS 4261

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 or (ECE 370 and ECE 276) and MATH 276) and IMSE 317

CIS 428     High Speed Network Admin     3 Credit Hours

The course requires students to setup and manage their own computer network in the lab. Topics include: overview of file servers, LAN configurations and protocols, server hardware (CPU, hard drives, memory), server clients, server installation, domains, user accounts, groups, rights, directories, permissions, applications, printers, other OS, monitoring, maintenance, high speed switching, ATM, video, routers, fire walls. (YR).

Prerequisite(s): CIS 427

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 553 CIS 375*

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

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 Arts, Sciences, and Letters or Engineering and Computer Science

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 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 Business or Education, Health, and Human Services

CIS 450     Operating Systems     3 or 4 Credit Hours

Introduction to computer operating systems. Process control, threads, concurrency, memory management, virtual memory, uniprocessor, multiprocessor, and real-time scheduling, I/O management, disk scheduling, file management, distributed processing, client/server, clusters, distributed process management,security. (F,W).

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

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 227) and CIS 350 (MATH 217 or CIS 3501 or IMSE 350 or (ECE 370 and MATH 276) or (ECE 370 and ECE 276)

CIS 452     Inf Vis & Multimedia Gaming     3 Credit Hours

This course introduces basic techniques for digital animation, computer and video games, and web multimedia. Topics include the process of creating animated video clips from start to finish, including story creation, storyboarding, modeling, animation, and post-production; several key techniques for video editing and motion generation, including keyframe, motion capture editing, collision detection, particle systems, physical simulation, and real-time rendering; techniques for web animation and multimedia; and internet gaming.

Prerequisite(s): CIS 451 or CIS 487

Restriction(s):
Can enroll if Class is Senior
Can enroll if College is Business

CIS 456     Windows Programming     3 Credit Hours

This course covers the core tenets of the Microsoft Foundation Class (MFC) or similar package and Windows programming. The emphasis will be on the relationship between Windows Operating System and MFC. Windows OS has three major components: user, graphics device interface (GDI), and kernel. User is a module that controls input devices, GDI is a module that services output devices, and kernel controls internal resources. These three components are called the API and communicate with MFC. Projects will be assigned to simulate the major components of API using MFC. (YR)

Prerequisite(s): CIS 350

CIS 467     Digital Forensics II     4 Credit Hours

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.

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

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

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

CIS 475     Software Engineering Seminar     3 Credit Hours

The focus of this course is on management issues related to modern software engineering practice. Students read and discuss papers written by master software engineering professionals. Seminar topics discussed include: management of software engineering processes, software measurement, software engineering ethics, and legal issues related to professional practice. (W, S).

Prerequisite(s): CIS 376

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)

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*)

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

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
Can enroll if Level is Undergraduate
Can enroll if College is Engineering and Computer Science

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
Can enroll if College is Engineering and Computer Science

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 495     Design Seminar     4 Credit Hours

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

Prerequisite(s): CIS 375

Restriction(s):
Can enroll if Class is Senior
Can enroll if College is Business

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

Restriction(s):
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 496     Design Seminar for SE     4 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.

Prerequisite(s): CIS 376 and CIS 476

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 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 326 or STAT 425)

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