Course Descriptions
CS 200 SQL and Relational Databases (3)
This course is an introduction to Database used in data science that will cover topics on database systems and a related data science database language called SQL. This course will include lectures, discussions, assignments, hands-on experiences, and a project. The goal of the course will be to provide students with knowledge, techniques, and skills on database systems, programming in SQL, and revisit R and Python. Students in this course will learn the various databases and concepts in data science, database design, the SQL language, using SQL to develop a database, and querying in SQL.
CS 201 Programming in R (3)
This course is an introduction to R that will cover the R topics and language. This course will include lectures, discussions, assignments, hands-on experiences with real data, and a project that could be used for future classes and investigation. This course will prepare students for the next data science courses and practice by providing students with knowledge, techniques, skills, and a data science mindset. Students in this course will learn the data science process of collecting, storing, and curating data; ingestion and wrangling data; R language; R used for database systems; analyzing data using R; visualizations; and reporting the results of the analysis.
CS 202 Programming in Python (3)
This course is an introduction to Python that will cover the python topics and language. This course will include lectures, discussions, assignments, hands-on experiences with real data, and a project that could be used for future classes and investigation. This course will prepare students for the next data science courses and practice by providing students with knowledge, techniques, skills, and a data science mindset. Students in this course will learn the data science process of collecting, storing, and curating data; ingestion and wrangling data; Python language; Python used for database systems; analyzing data using Python; visualizations; and reporting the results of the analysis.
CS 204 Visualization and Analytics (3)
This course is a visualization and analytics class. This course will include lectures, discussions, assignments, hands-on experiences, and a project. The goal of the course, it will primarily focus on visualization and analytics of data science by providing and preparing students with the necessary knowledge, techniques, skills, and a data science mindset. Students in this course will use both R and Python, and will learn the planning, development, evaluation, and interpretation process of various graphs with different levels of development difficulty.
Prerequisites: CS 201 or CS 202
CS 205 Programming II (3)
This course is an introduction to Java programming used in computer science that will cover topics and language on Java programming, object-oriented programming, and parallelism. This course will prepare students for the next computer science courses and practice by providing students with knowledge, techniques, skills, and a computer science mindset. Students in this course will learn Java coding, object-oriented programming, and parallelism strategies and techniques, design, development, and evaluation.
CS 300 Network Systems and Management (3)
This course will introduce concepts, techniques, strategies, hardware, and software on networking systems, management, and virtualization. Students in this course will learn to design, develop, and manage a network system and its virtualization in the areas of low-level details of media and bits, packet transmission and switching, internetworking, network configuration, hardware and software, security, data communication, protocols, and network applications. Prerequisites: EN 102 and COM 101.
CS 301 Operating Systems (3)
This course will introduce operating systems concepts, techniques, strategies, hardware and software, management, and virtualization. Students in this course will learn process management, memory management, I/O device management, file systems, distributed systems, security, and virtualization. Prerequisites: EN 102 and COM 101.
CS 312 Machine Learning and Artificial Intelligence (3)
This course will introduce machine learning and artificial intelligence (AI). This course will include lectures, discussions, assignments, hands-on experiences, and a project. The goal of the course will prepare and provide students with machine learning and AI knowledge, techniques, and skills. Students in this course will learn and implement various machine learning algorithms, such as trees, models, clustering, and networks. Prerequisites: EN 102, COM 101, and CS 202 or CS 205.
CS 321 Digital Forensics and Crime Scene Investigation (3)
This course will introduce the concepts, techniques, standards and best practices, methods, and processes of digital forensics and crime scene investigations. Students in this course will learn the identification, collection, and preservation of digital data and evidence that are essential to the mitigation and prosecution of cybercrimes. This course will introduce the fundamentals of digital forensics and cybercrime investigation, laws and policies, standards and best practices, ethics, and methods and tools for performing forensic investigations, and evidence used for crime scene courtroom. Prerequisites: EN 102 and COM 101.
CS 400 Computer Architecture (3)
This course will introduce the concepts, techniques, methods, and design of computer systems. Students in this course will learn various computer components, parallel computing, architecture versus organization, logic modules, central processing unit (CPU) and data path implementation, memory structures and timing, input and outputs (I/O), interrupts, protocols, instruction cycles and the control unit, security, assembly language programming, and parallel computing. Prerequisites: EN 102, COM 101, and CS 202 or CS 205.
CS 401 Software Engineering and Design (3)
This course will introduce the concepts, principles, techniques, standards and best practices, and methods of software engineering to design and develop high-quality and cost-effective software products and systems. This course will utilize computer architecture, data structures, and object-oriented approaches. Students in this course will learn an overview to design and develop software products and systems; software life cycle; specifications; cost and effort estimation; and tools to effectively analyze, design, test, and maintain software. Prerequisites: EN 102, COM 101, and CS 202 or CS 205.
CS 487 Internship (3)
Prerequisites: EN 102 and COM 101.
CS 495 Computer Science Directed Research (3)
This course is a research method and directed research course in computer science. The course will include lectures, discussions, assignments used for the directed research project, and a semester long directed research project. The goal of the course has two parts: 1) students will be provided tools and techniques that will assist on assessing research designs and strategies to develop their computer science directed research project and 2) students will execute and complete their computer science directed research project. Students in this course will learn the different research methodologies; assess literature for a literature review; develop a research question or problem to analyze; learn application design and development; learn data collection methods and sampling approaches; design and develop a proposal; apply knowledge, skills, and abilities from past computer science courses; analyze and evaluate; produce a directed research product; and communicate the project in front technical and nontechnical audience. Departmental approval is required prior to enrollment. Prerequisites: EN 102, COM 101, and CS 202 or CS205.