two students walking outside a building on campus

Computer Information Science

Programs

Bachelor of Science / Natural Science Concentration

All Bachelor of Science degrees include a required 30-hour concentration, which includes courses chosen from departments in the Natural Sciences and Mathematics Division, other than the student’s major department. At least 15 of these hours must be in one discipline. The 30 hours must be approved by the student’s major department chairperson.

Natural Sciences Concentration courses for BS degrees offered by the Department of Computer Information Science are limited to these courses: 

  • BI 100 Human Biology or above;
  • CH 103 Introduction to Forensic Chemistry or above;
  • MA 117 Trigonometry or above, except: MA 200 Number & Operation for Elementary Teachers, MA 201 Geometry, Proportion & Data Analysis for Elementary Teachers, MA 204 Number Theory and Discrete Math for Middle School Teachers, MA 316 Teaching Algebra, MA 317 Teaching Trigonometry, MA 318 Teaching Statistics, MA 320 Mathematics for Middle School Teachers;
  • PS 101 Physics in Everyday Life or above, AS 101 Introduction to Astronomy/Cosmology or above, GL 101 Physical Geology or above, EG 105 Introduction to Engineering or above.

Course Offerings

CM 101  Computer Concepts and Applications  (3)  

Overview of computer hardware, software, applications, and social implications. Emphasis on computer literacy, basic tools and applications to access resources on the Internet, and hands-on experience. The course provides an introduction to word processing, spreadsheet, database, presentation software, and emerging technologies. This course does not apply toward CIS departmental major requirements. Prerequisite: None.
Course Attributes:
  • Gen Ed AY 2024-2025: Scientific Reasoning and Literacy
  • Gen Ed Pre-AY 2024-2025: Natural Science
  • USLO: Quantitative and Scientific Reasoning and Literacy

CM 105  Introduction to Computer Science  (3)  

A broad perspective of the field of Computer Science from core concepts to computing's most important application areas and their ethical issues. Core concepts include data, hardware, software, operating systems, communications, and programming. Application areas include software development, cybersecurity, and data science. Prerequisites: MA 112 or higher, or an ACT Mathematics score at or above 22, or Math Diagnosis score at or above 75.
Course Attributes:
  • Gen Ed AY 2024-2025: Scientific Reasoning and Literacy
  • Gen Ed Pre-AY 2024-2025: Natural Science
  • USLO: Quantitative and Scientific Reasoning and Literacy

CM 111  Introduction to Structured Programming  (4)  

Introduction to essential concepts of structured programming including sequence, selection, iteration, and function calls. These concepts are examined through learning the syntax and semantics of a popular programming language. Students will apply structured programming to problem solving through utilizing basic data structures, logic, algorithm development, and APIs (Application Programming Interfaces). This course will prepare students for more advanced programming techniques. Three credit hours of lecture and a weekly two-hour laboratory session. Prerequisites: MA 112 or higher, or an ACT Mathematics score at or above 22, or Math Diagnosis score at or above 75.

CM 130  Web Development I  (3)  

Introduction to basic web development using HTML, cascading style sheets, frameworks, and elementary JavaScript. Emphasis on following the latest standards to create accessible, well-designed, and full-featured web pages that are easy to use and maintain. Prerequisites: None.

CM 203  Digital Forensics I  (3)  

Introduction to the field of digital forensics. Topics include data representation, file signatures, Windows artifacts, creating and using drive images, drive layout, partition tables, FAT32 and NTFS file systems, basic cryptography, and others as time permits. Prerequisites: MA 112 or higher, or an ACT Mathematics score at or above 22, or Math Diagnosis score at or above 75.

CM 231  Computer Organization/Assembler Language  (3)  

Introduction to computer organization and architecture. Topics include data representation, digital circuits, instruction set architectures, assembler language, and memory organization. Prerequisite: CM 111.

CM 244  C Programming Language  (3)  

Introduction to the C programming language and the use of C for applications. All aspects of the C language will be covered including syntax, data types, control structures, operators, data structures, pointers, and file input/output. Prerequisite: CM 111.

CM 245  Contemporary Programming Methods  (3)  

A study of advanced programming techniques with a focus on object-oriented programming. Topics include object-oriented design, event-driven programming, fundamentals of graphical user interfaces, and software testing. Prerequisite: CM 111.

CM 261  Networked Systems  (3)  

Introduction to the theory and practice of networking. Topics include network standards, ISO and TCP/IP reference models, routing and switching techniques, SDN, services, and protocols. Prerequisite: CM 231.

CM 290  Introduction to Python Programming  (3)  

Introduction to computer programming using Python. Topics include structured programming concepts, object-oriented programming, algorithm development, problem solving, and basic machine learning. Students will use Python libraries for manipulation, visual representation, and statistical interpretation of data. Prerequisites: MA 112 or higher, or an ACT Mathematics score at or above 22, or Math Diagnosis score at or above 75.

CM 298  Special Topics/Non-Majors  (1-3)  

Special topics course or directed study in CIS at the lower-division level. This course does not count toward the required electives of any CIS degree. Prerequisite: Determined by instructor.

CM 299  Special Topics/CIS  (1-3)  

Special topics course or directed study in CIS at the lower-division level. This course may count toward the lower-division electives of a CIS degree. Prerequisite: Determined by instructor.

CM 303  Digital Forensics II  (3)  

A follow-up course in digital forensics. Topics include the investigative process, court testimony, mobile forensics, computer forensics, online investigations, case studies, and tools used by professional digital forensic investigators. Prerequisites: CM 203

CM 307  Data Structures & Algorithmic Analysis  (3)  

Introduction to algorithmic analysis and algorithmic strategies. Topics include mathematical analysis of algorithms such as linear and divide and conquer algorithms, recursive programming, use of array-based and linked lists, stacks, queues, priority queues, trees, graphs, and selection of data structures to solve common problems in computer science. Prerequisites: MA 206 and CM 245.

CM 322  Operating Systems  (3)  

Introduction to the basic principles of the function and design of operating systems. Topics include processes and dispatching, kernels, resource management, scheduling, virtual memory, concurrency, inter-process communications, multiprocessing and multithreading, memory management, file systems, and virtualization. Prerequisite: CM 231.

CM 330  Web Development II  (3)  

Advanced studies in web development using a scripting language and a database. The student will learn to develop web applications that display dynamic content. Advanced features of client-side scripting will be introduced. Prerequisite: CM 111 or CM 290.

CM 331  Artificial Intelligence  (3)  

Introduction to the concepts, techniques, and applications of artificial intelligence. Topics include knowledge representation, reasoning, search, constraint satisfaction, creativity, learning, impacts of AI technology, ethical questions, logic and deduction, uncertainty, and planning. Prerequisite: CM 307.

CM 332  Data Mining  (3)  

Problem solving through the analysis of data. Topics include ethical issues, collecting and transforming data, machine learning algorithms, statistical and linear models, and clustering techniques. Prerequisites: CM 307 and MA 140.

CM 333  Software Engineering  (3)  

Study of disciplined approaches to the production of quality software products and an examination of social and professional issues related to software production and use. Topics include software requirements and specifications, lifecycle models, design, validation and evolution of software, project management, CASE tools, as well as social and ethical considerations. Prerequisite: CM 307 or CM 335.

CM 334  Modeling with VBA/Excel  (3)  

Introduction to the fundamentals of programming with Visual Basic for Applications using the Excel object model, and the application of those concepts in the creation of Decision Support Systems with their supporting models. Topics include ranges, control logic, worksheets, workbooks, charts, arrays, functions, subroutines, user forms, file handling, error handling, database access, and the application of these concepts in the creation of a decision support system. Prerequisites: CM 245 and MA 140

CM 335  Advanced Application Programming & Design  (3)  

Advanced topics in application programming and design using state of the art design techniques and implementation language. Topics include design of user interfaces, interacting with file systems, multi-threading, database programming, client-server programming, and basic web programming. Prerequisite: CM 245.

CM 336  Database Management Systems  (3)  

Characteristics and objectives of database management systems. Topics include entity-relationship models, relational database models, normalization to address modification anomalies, SQL, functions, stored procedures, triggers, and multi-user database issues. Prerequisite: CM 307 or CM 335.

CM 339  Computer Information Science Research  (3)  

Introduction to conducting research in the CIS field. Students learn to form research questions, conduct literature reviews, collect data, use statistical techniques to analyze data, and write research papers for submission to a CIS journal or conference. Prerequisites: CIS major with Junior Standing or consent of the instructor.

CM 341  Information Security: Technical Issues  (3)  

In-depth examination of technical issues associated with information security. The tools and techniques necessary to provide information security will be discussed in class and investigated in the laboratory whenever possible. Risks and threats to information security will also be discussed. Prerequisites: CM 261 and CM 322.

CM 342   Information Security Governance  (3)  

An examination of the development, function, roles, and responsibilities of information security programs. Topics include policy development, risk management, incident response, compliance, monitoring, and disaster recovery. Current law, regulations, and case studies will be discussed. Prerequisite: Junior standing and (CM 105 or higher).

CM 361  Introduction to Cybersecurity  (3)  

Introduction to computer security threats, vulnerabilities, and risks and the policies and best practices for mitigation. Topics include physical security, network security, information assurance, cryptography, malware, ethical hacking, and social engineering. Prerequisite: CM 261.

CM 370  Information Technology Project Management  (3)  

Introduction to project management concepts and techniques with an emphasis on CIS projects. Students will gain experience with project management software and developing project management documents and artifacts. Upon completing the course, students will be prepared to pass industry recognized project management certification exams. Prerequisite: Junior standing and (CM 105 or higher).

CM 390  Special Topics/Computer Information Science  (1-4)  

Special topics course or directed study in CIS at the upper-division level. This course may count toward the upper-division electives of any CIS degree. Prerequisites: Determined by instructor.

CM 400  Internship in Computing  (1-6)  

Practicum in the computing field that leverages computer science knowledge towards problem solving in the real world. The student will share internship experience in a public forum. Credit/No Credit Only. Repeatable. Prerequisites: A declared Major in CIS, an employment contract, and consent of the instructor.

CM 465  Computer Information Science Capstone Project  (3)  

Students will assimilate and synthesize knowledge and skills acquired during the course of study for the major to initiate and complete a functioning system through analysis, design, implementation, and testing. Students may choose to conduct a research project in the CIS field. Credit/No Credit Only. Prerequisites: CM 333 and CM 336 or (CM 307 and 90 hours).