Department of Computer Science
Department Chair: Chris Bopp, Ph.D.
Faculty
C. Bopp, Ph.D.
A. Foerst, Ph.D.
B. Kellogg, M.S.
The Department of Computer Science houses several undergraduate majors and minors. The Computer Science major prepares students for entry-level software engineering, networking, database application development, and web administration positions. The Cybersecurity major prepares students for careers in computer crime investigation, information assurance, and digital forensics. The Data Science major prepares students for entry-level data analyst positions in traditional and interdisciplinary domains. These programs also prepare students for advanced study at the graduate level. Most graduates enter the workforce as computer professionals; one or two per year elect to pursue study at the graduate level. Due to the overlap between these programs, many students minor or double major in these related fields.
The department follows the relevant disciplinary guidelines for undergraduate education. All programs follow the ACM (Association for Computing Machinery) guidelines. As the world's largest computing society, the ACM brings together computing educators, researchers, and professionals to ensure that all members maintain the highest standards and develop technical excellence.
The department offers a variety of upper-division courses that permit students to explore different areas of the discipline and to find the ones in which they are most interested. Upper-division course offerings include courses in the areas of web development, database systems, computer networks, user experience design, artificial intelligence, operating systems, and penetration testing, among others.
The department maintains three computer labs to support the curriculum. The Software Development Laboratory supports the first three courses in the major sequence and several upper-division courses. The Network/Systems Administration lab supports a variety of introductory and advanced networking and server management courses. The Cybersecurity Lab offers workstations for conducting advanced security assessments. Finally, a virtual lab environment allows students to gain hands-on experience with virtual servers, giving them the ability to configure and deploy new services.
Together, the department faculty has published numerous articles and textbooks. With the addition of practicing professionals, the program faculty provides breadth and depth in the foundational - as well as emerging areas - of computing. Students often participate in research projects with faculty supervision, occasionally co-authoring papers with faculty members.
- App Development, Minor
- Artificial Intelligence Literacy, Minor
- Computer Information Systems, BS
- Computer Information Systems, Minor
- Computer Science Adolescence Education, BSED
- Computer Science, BS
- Cybersecurity, BS
- Cybersecurity, Minor
- Data Analytics, Minor
- Data Science & Artificial Intelligence, BS
- Game Design, Minor
Computer Science (CS)
CS-COMP Comprehensive Exam (0 Credits)
Restrictions: RG.86+
CS-101 BEAUTY & JOY OF COMPUTER SCIENCE (3 Credits)
This course presents the history, social implications, great principles, and future of computing. It examines the computing applications that have changed the world and how computing empowers discovery and progress in other fields. The relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests. The course consists of two lecture hours and one two-hour laboratory per week.
CS-111R INTRODUCTION TO GAMES (3 Credits)
Games sit at the intersection of technology, art, and culture, so success within the games industry requires you to understand all three. This course explores why we love games, what role they play in society, and the industry that produces them. You'll also learn the basics of game development. This course was developed in partnership with Unity and the IGDA to help everyone interested in the games industry start on the right foot.
CS-130 INTRODUCTION TO PROGRAMMING IN PYTHON (3 Credits)
This course introduces students to programming using the Python programming language. No prior experience is required. Fundamental programming concepts and approaches will be covered to begin a students journey towards software development proficiency. The course will focus on the application of Python to problems commonly encountered in a variety of other disciplines and will guide students through initial requirements gathering, planning, development, and testing of code. The course consists of three lecture hours and one two-hour laboratory per week.
Corequisite(s): Take CSL-130
CS-131 OBJECT ORIENTED PROGRAMMING (4 Credits)
The course introduces the object- oriented approach to software design using the programming language Java. Topics covered are software design, implementation and testing, basic computer organization and source code translation.The course consists of three lecture hours and one two-hour laboratory per week.
Prerequisite(s): TAKE CS-130
Corequisite(s): Take CSL-131
CS-132 ALGORITHMS & DATA STRUCTURES (4 Credits)
This is the second course in the computer science major sequence. The course utilizes the object- oriented design approach to building applications, which emphasizes the creation and utilization of reusable software tools. Students are introduced to data structures that are commonly encountered in building software applications and to the analysis of the efficiency of algorithms used to solve problems. The programming language Java is used to implement software designs. The course consists of three lecture hours and one two-hour laboratory per week.
Prerequisite(s): Take CS-131
Corequisite(s): Take CSL-132
CS-211R GAME CONTENT & SYSTEMS DESIGN (4 Credits)
If you've ever enjoyed the experience of playing a video game, you've had a firsthand lesson in how important content and systems design are. The experience of a game is driven by four major components: content, systems, narrative, and user experience. This class will help you learn to design all four components, and build a deeper understanding of the game development process and an introduction to concepts in scripting. This online class has optional live sessions.
CS-241 COMPUTERS, SOCIETY & ETHICS (3 Credits)
Computers are ubiquitous in our society today. They have impacted the way we think about reality because we gain insights through googling questions and through social media. We often forget that this access to realityis mediated and might be false. Also, a large part of human interactions happens in cyberspace. And white we intuitively apply norms that guide our offline behavior to our online lives cyber communications don't necessarily trigger empathy which makes numerous of those interactions hurtful. Finally, we do online shopping, putting brick and mortar stores out of business which is leading to a reconstruction of the job market. This class addresses the impact computers have on our daily lives and presents ethical solutions.
CS-243 DATABASE AND BIG DATA (3 Credits)
An introduction to database management systems, including database design and application development. Different database models are introduced, with emphasis on the relational model. The theoretical principles underlying the design of a database and the physical storage of data and its integrity are covered. The laboratory component is used to design and implement a real-world database application that illustrates theory.
Corequisite(s): Take CSL-243
CS-243R POSTGRE SQL (4 Credits)
Modern applications often rely on databases and, by extension, need software systems to manage those databases. One such system is PostgreSQL, which is notable for including many features that help facilitate application development and protect data. By the end of this course, you will be able to use PostgreSQL to manage databases and support application development and integration.
CS-244 WEB DEVELOPMENT (3 Credits)
Introduction to the design and implementation of a database-driven application using a tool such as Microsoft ASP.Net. Students will design and implement an e-commerce application based upon a SQL server database. The course presupposes familiarity with relational database design and application development. Topics include Visual Studio.Net tools for managing data sources, data controls for populating Web pages, data presentation tools, configuring, deploying and trouble-shooting an ASP.Net application. Students will build a data-driven Web site.
Prerequisite(s): Take CS-131
Corequisite(s): TAKE CSL-244
CS-254 COMPUTER NETWORKS (4 Credits)
A study of computer networks based on a layered network architecture. Various essential network protocols are examined. The course includes an overview of local area networks, routing algorithms, and network applications. The course consists of three lecture hours and one two-hour laboratory per week.
Corequisite(s): Take CSL-254
CS-255 SERVER MANAGEMENT (4 Credits)
This course conveys knowledge and skills to understandan dperform basic operations involved in deploying and managing server systems, applications, and their requisite security in the enterprise. Instructions on "Simplicity of Design" will be given to help students understand the impact of system design on implementation and ongoing support costs. Thinking in Systems will be covered to address the critical thinking skills necessary for good system design.
Prerequisite(s): Take CS-254
Corequisite(s): TAKE CSL-255
CS-257 USER EXPERIENCE DESIGN (4 Credits)
This course will expose the student to a wide variety of human-computer interaction material to enable them to understand and design positive user experiences with technology. Students will study the theory of user interface/experience design in class and will put that theory into practice through laboratory exercises and teamwork. Ways to learn from users will be covered, as well as design methods including prototyping, heuristics, and best practices. Broader design topics related to current computing trends will also be discussed from a human-centered perspective.
Corequisite(s): Take CSL-257
CS-258 MACHINE LEARNING (3 Credits)
Machine Learning (ML) uses interdisciplinary techniques such as statistics, linear algebra, optimization, and computer science to create automated systems that can sift through large volumes of data at high speed to make predictions or decisions without human intervention. ML is all about finding patterns in data to get computers to solve complex problems. Machine learning as a field is now incredibly pervasive, with applications spanning from business intelligence to homeland security, from analyzing biochemical interactions to structural monitoring of aging bridges, and from emissions to astrophysics, and medicine and many more. This class will familiarize students with a broad cross-section of models and algorithms for machine learning and prepare students for research or industry application of machine learning techniques.
Prerequisite(s): Take CS-130
Corequisite(s): TAKE CSL-258
CS-312R WORKING WITH UNITY (4 Credits)
The Unity engine powers nearly 50% of all games and nearly 75% of mobile games. This course, built in collaboration with Unity and the IGDA, will introduce you to developing games in Unity. By the end of this course, you'll learn how to build a fully functioning game within the Unity system, including all key elements. This online course has optional live sessions.
CS-334 COMPUTER ORGANIZATION (3 Credits)
The Computer Organization course is designed to introduce students to computer system engineering which comprises of lower level abstractions of a computer (CPU, memory, resisters, ALU, and input/output devices), it's interconnections between hardware and software, functional performance, and cost objectives. The course also introduces students to computing data, assembly language, and basic circuit design. he use of assembly language leads to students' understanding of reduced instruction set architectures (RISC) using the MIPS as well as the SPIM simulator for the MIPS architecture. A brief introduction to hardware level security and realated protocols is provided. The course consists of three lecture hours and one two-hour laboratory per week.
Prerequisite(s): Take CS-132
Corequisite(s): Take CSL-334
CS-334R COMPUTER SYSTEMS (4 Credits)
Curious about what happens under the hood of your computer? This course explores the inner workings of computer systems while teaching you the C programming language. Learn the fundamentals of operating systems, memory management, and file systems. Explore how microprocessors execute instructions and how peripherals communicate with the main system. By the end, you'll have an understanding of computer architecture and be able to optimize system performance using C.
Prerequisite(s): Take CS-132
CS-346 OPERATING SYSTEMS (4 Credits)
A study of modern multiprogrammed operating systems including system structure, concurrency, process scheduling and control, memory management, file systems, and system performance. The course consists of three lecture hours and on two-hour laboratory per week. The laboratory component provides experience in concurrent programming using Java threads and in system level programming using C in a UNIX environment.
Corequisite(s): Take CSL-346
CS-346R OPERATING SYSTEMS & ARCHITECTURE (4 Credits)
Whether youre using a Mac or a PC, operating systems are a key part of how humans interface with technology. Therefore, understanding how they work is vital to understanding how computers power our world. This course will teach you the fundamentals of Operating System structure, function, and architecture, and prepare you to administer both Windows and Linux-based systems.
CS-354 INTRO INTERNET SYS. SECURITY (4 Credits)
Introduction to network security auditing. Students will learn how to perform the different phases of an audit, including discovery and penetration, as well as how to prevent hackers from controlling your network. This course introduces various tools to help students in the auditing process. Students will be exposed to international standards, along with time-tested methods for auditing a network efficiently, and they will be able to use specific, practical tools for counteracting network attacks. Finally, they will be able to analyze all findings and make informed recommendations for establishing the best security possible in a given scenario.
Prerequisite(s): Take CS-254
CS-401 SENIOR COMPREHENSIVE PROJECT I (2 Credits)
In the Senior Comprehensive Project, students must work under the supervision of one or more faculty members to identify and carry out a year-long project. This project must draw upon content from multiple courses and generate either new research or a new technology. In this first semester, the student must conduct background research, agree on a scope with the faculty member, and carry out most of the work on the project. Permission from the primary faculty member that will supervise the project must be granted prior to registration.
CS-402 SENIOR COMPREHENSIVE PROJECT II (1 Credit)
In the second semester of the Senior Comprehensive Project, the student must complete their project and share their results. Along with content from other courses, the students web portfolio must be updated to include this final project.
Prerequisite(s): TAKE CS-401
CS-410 SOFTWARE ENGINEERING (3 Credits)
The course provides an overview of software requirements analysis, the software design process, verification and validation, software maintenance, and documentation. A major component of the course is a project that provides experience in the analysis and design of a software product using an object-oriented methodology.
Prerequisite(s): TAKE CS-257
Corequisite(s): Take CSL-410
CS-480C SP TOP: C# PROGRAMMING (3 Credits)
CS-491 INTERNSHIP IN COMPUTER SCI. (1-3 Credits)
This program provides students with on-the-job training and experience which is not obtainable in classroom situations. The student is expected to secure a full-time position which involves significant work in an area of computer science. Each internship is individually arranged, subject to the approval of the computer science faculty.
CS-492 IND.STUDY IN COMP.SCIENCE (1-3 Credits)
Independent study or project in some area of computer application or computer science under supervision of computer science faculty.
Prerequisite(s): TAKE CS-133
CS-492A IND ST: DATABASE DESIGN (3 Credits)
Independent study or project in some area of computer application or computer science under supervision of computer science faculty.
Prerequisite(s): TAKE CS-133
CS-492B IND ST SOFTWARE ENGINEERING LAB (1 Credit)
Independent study or project in some area of computer application or computer science under supervision of computer science faculty.
Prerequisite(s): TAKE CS-133
CS-495 TECHNICAL CONSULTING IN THE COMMUNITY (3 Credits)
CS 495 TECHNICAL CONSULTING IN THE COMMUNITY This course provides students with the opportunity to experience a technical consulting role with a local non-profit community organization. The student will apply professional and communication skills as he/she works with a community partner as a technical consultant. The student will spend at least three hours a week on-site at the organization and will write and present consulting reports based on his/her experience.
Restrictions: RGC.105
CSL-101 BEAUTY & JOY OF COMPUTING LAB (0 Credits)
CSL-130 INTRO TO PROGRAMMING IN PYTHON LAB (1 Credit)
This course introduces students to programming using the Python programming language. No prior experience is required. Fundamental programming concepts and approaches will be covered to begin a students journey towards software development proficiency. The course will focus on the application of Python to problems commonly encountered in a variety of other disciplines and will guide students through initial requirements gathering, planning, development, and testing of code. The course consists of three lecture hours and one two-hour laboratory per week.
Corequisite(s): Take CS-130
CSL-131 OBJECT ORIENTED PROGRAMMING LAB (0 Credits)
Lab occurs once per week for two hours. Lab is taken with CS 131.
Prerequisite(s): TAKE CS-130
Corequisite(s): Take CS-131
CSL-132 ALGORITHMS & DATA STRUCTURES LAB (0 Credits)
One two-hour laboratory per week. Lab is taken with CS 132.
Corequisite(s): Take CS-132
CSL-243 DATABASE AND BIG DATA LAB (1 Credit)
Corequisite(s): Take CS-243
CSL-254 COMPUTER NETWORKS LAB (0 Credits)
A study of computer networks based on a layered network architecture. Various essential network protocols are examined. The course includes an overview of local area networks, routing algorithms, and network applications. The course consists of three lecture hours and one two-hour laboratory per week.
Corequisite(s): Take CS-254
CSL-257 USER EXPERIENCE DESIGN LAB (0 Credits)
Students will study the theory of user interface design in class and will put that theory into practice through laboratory exercises and team projects. Lab is taken with CS 257.
CSL-334 COMPUTER ORGANIZATION LAB (1 Credit)
Corequisite(s): Take CS-334
CSL-346 OPERATING SYSTEMS LAB (0 Credits)
Prerequisite(s): take cs-346
Cybersecurity (CYB)
CYB-101 INTRODUCTION TO INFORMATION SECURITY (3 Credits)
This course is an elective to introduce students in any major to the Information Security field. Students will be introduced to main domains of Information Security and Information Assurance as represented in the COMPTIA Certification exam Security Plus. Upon successful completion of this course as documented through writing, objective testing, case studies, laboratory practice, and/or classroom discussion, the student will be able to: Define information security and explain why it is important Identify types of attackers, analyze vulnerabilites, attacks and suggest appropriate defenses. Descrive various software security applications and vulnerability scanning tools. Explain the different types of logical and physical access control. Understand and explain authentication, authorization and accounting as it relates to compter security. Define and explain risk, risk management, and penetration testing.
CYB-180 SPECIAL TOPICS IN CYBERSECURITY (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CS-132
CYB-202 CYBERSECURITY ETHICS (3 Credits)
This course introduces students to ethical questions that come up in all areas of cybersecurity. We will discuss the ethical ramifications of several different types of hacks. We will explore ethical management in Cybersecurity and explore the concept of ethical hacking.
CYB-333 INFORMATION SECURITY (3 Credits)
This course is designed to introduce students to the development of information security policies and planning. Information systems, and the tools and techniques needed to establish, monitor and maintain information security will be examined.
CYB-354 INTRO TO NETWORK SECURITY (3 Credits)
Introduction to network security auditing. Students will learn how to perform the different phases of an audit, including discovery and penetration, as well as how to prevent hackers from controlling your network. This course introduces various tools to help students in the auditing process. Students will be exposed to international standards, along with time-tested methods for auditing a network efficiently, and they will be able to use specific, practical tools for counteracting network attacks. Finall y, they will be able to analyze all findings and make informed recommendations for establishing the best security possible in a given scenario.
Prerequisite(s): TAKE CS-254
Corequisite(s): TAKE CYBL-354
CYB-355 COMPUTER CRIME (3 Credits)
Computer criminals are becoming ever more technically sophisticated, and it's an increasing challenge to keep up with their methods. This course will focus on computer crimes, what they are, how to prevent them, and how to detect, investigate prosecute them if they do occur and prevent them. Topics such as the impact of computer crimes, digital forensics, as well as computer crime laws will also be covered.
Prerequisite(s): TAKE CS-254
CYB-360 DIGITAL FORENSICS (3 Credits)
This course will provide an introduction to, and develop a foundation in, core concepts related to the field of digital forensics. Topics include an overview of computer crime, computer forensics law, forensic acquisition in lab and field environments, digital triage, mobile devices, identification of forensic artifacts in various operating systems, network forensics, report writing, ethical considerations in forensics, and courtroom testimony. The course will include lectures and hands on experiences using a vareity of forensic tools.
Prerequisite(s): Take CYB-355
CYB-365 INVESTIGATIVE SOFTWARE TOOLS (3 Credits)
Intelligence led policing and intelligence based investigative strategies are coming to the forefront of law enforcement. Private industry is alwso becoming increasingly aware of the strategic intelligence model as it applies to corporate planning, competitce practices and maintaining corporate integrity. This course is designed to introduce students to several key software tools that are widely used and considered essential for intelligence research and criminal investigations. These software tools will include, but not be limited to, Analyst Notebook, iBase, and Idea. Students will be given a thorough understanding of how to apply these tools in the course of the intelligence process and/or during the course of a criminal investigation. The course will culminate with students preparing a project using all the software tools introduced during the course.
CYB-380 SPECIAL TOPICS IN CYBERSECURITY (1-3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CS-132
CYB-380A SP TOP IN CYBERSECURITY: ADVANCED CYBERSECURITY (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CS-380C
CYB-380B SP TOP IN CYBERSECURITY:CYBERSECURITY INVESTIGATION (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-380C SPECIAL TOPICS: LAW & POLICIES INVESTIGATION (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-380D SP TOP: THREAT HUNTING FOR MS WINDOWS (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-380E SP TOP:HOW ETHICAL HACKERS CAN COUNTER BLACK HAT HACKERS (1 Credit)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-380F SP TOP:PSYCHOLOGY OF A HACKER (1 Credit)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-380G SP TOP:PRACTICAL HACKING/CYBERSECURITY WITH PYTHON (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-380SO SP TOP:SECURITY OPERATIONS I (3 Credits)
An intensive study of an aspect of computer science not fully treated in a regularly scheduled course.
Prerequisite(s): CYB-101
CYB-410 INTRO TO CRYPTOGRAPHY (3 Credits)
In this course, the key terms, concepts and principles of cryptography are defined and explained. Application of cryptographic techniques to ensure confidentiality, integrity, authentication, access control, and non-repudiation issues will also be covered. Other topics will include the history of classical cryptographic and cryptanalytic techniques, modern symmetric and asymmetric algorithms, Federal Information Processing Standard (FIPS) algorithms, random and pseudo-random number generators and cryptographic hash functions.
CYB-411 INTRO TO PENETRATION TESTING (3 Credits)
To protect an organization's critical information and assests, cybersecurity professionals must regularly assess an information system's security controls through a process called penetration testing. This course will introduce students to the overall process and principles, as well as more deeply explore the identification of systems, services, and vulnerabilities. Students will be expected to stay up-to-date on emerging security flaws throughout the course, and understand the need for life-long learning in this domain.
Prerequisite(s): CYB-202 CYB-354 CYB-333
Corequisite(s): Take CYBL-411
CYB-413 CYBERSECURITY OPERATIONS (4 Credits)
To protect an organization's critical information and assets, cybersecurity professionals regularly assess an information system's security controls through understanding the evolving networks, systems, and end user use of them. This understanding will help in determining the most effective way of instrumenting the networks and systems to prevent and alert on unusual behaviors and events. The course will emphasize combining contextual enterprise knowledge with threat actor tactics, techniques, and procedures to create targeted detection, prevention, and response policies and processes.
Prerequisite(s): CS-255
Corequisite(s): Take CYBL-411
CYB-491 INTERNSHIP IN CYBERSECURITY (1-3 Credits)
This course provides students with on-the-job training and experience which is not obtainable in classroom situations. The student is expected to secure a full-time position which involves significant work in an area of cybersecurity. Each internship is individually arranged, subject to the approval of the cybersecurity faculty.
CYB-492 IND STUDY IN CYBERSECURITY (1-3 Credits)
Independent study or project in some area of cybersecurity and its application under supervision of cybersecurity faculty.
CYB-499 INTRO TO CYBERSECURITY CONCEPTS AND TOPICS (0 Credits)
This intro course is meant to familiarize student with common concepts and terminology from a very high level that they will encounter in other courses.
CYBL-101 INTRO TO INFORMATION SECURITY LAB (1 Credit)
Corequisite(s): TAKE CYB-101
CYBL-354 INTRO TO NETWORK SECURITY LAB (1 Credit)
Introduction to network security auditing. Students will learn how to perform the different phases of an audit, including discovery and penetration, as well as how to prevent hackers from controlling your network. This course introduces various tools to help students in the auditing process. Students will be exposed to international standards, along with time-tested methods for auditing a network efficiently, and they will be able to use specific, practical tools for counteracting network attacks. Finall y, they will be able to analyze all findings and make informed recommendations for establishing the best security possible in a given scenario.
Prerequisite(s): Take CYB-354TAKE CS-254
CYBL-411 INTRO TO PENETRATION TEST LAB (1 Credit)
Lab component of CYB-411. Through the laboratory component, students will analyze code to identify common flaws, build, and test running systems for vulnerabilities. Students will also learn to document and prioritize risks and technical recommenations for addressing security vulnerabilites. Students will be expected to stay up-to-date on emerging security flaws throughout the course, and understand the need for life-long learning in this domain.
Prerequisite(s): CYB-354 CYB-333
Corequisite(s): Take CYB-411
CYBL-413 CYBERSECURITY OPERATIONS LAB (0 Credits)
To protect an organization's critical information and assets, cybersecurity professionals regularly assess an information system's security controls through understanding the evolving networks, systems, and end user use of them. This understanding will help in determining the most effective way of instrumenting the networks and systems to prevent and alert on unusual behaviors and events. The course will emphasize combining contextual enterprise knowledge with threat actor tactics, techniques, and procedures to create targeted detection, prevention, and response policies and processes.
Prerequisite(s): CS-255
Corequisite(s): Take CYB-413
Data Science & Artificial Intelligence (DSAI) (DSL)
DSAI-101R AI FOR EVERYONE (3 Credits)
Artificial Intelligence is changing the world. It is changing jobs, creating them, and even replacing them (but less than you think). More than ever before, companies need employees who can use AI tools to solve problems creatively and responsibly. This non-technical AI crash course builds the foundational skills needed to do that and is designed to be valuable to anyone. Learn how to distinguish problems that AI is useful for, master prompt engineering to improve outputs, detect AI-generated output, analyze ethics and privacy, and stay up-to-date on one of the most transformative technologies of our lifetimes.
DSAI-107 INTRO TO DATA & DATA ANALYTICS (3 Credits)
This course introduces students to core concepts and the current landscape of Data Science, Machine Learning, and Artificial Intelligence. Students explore how these fields intersect through a shared data lifecycle, including problem definition, data collection, preparation, analysis, and communication of results. Topics include types of data, sampling methods, web scraping, handling missing data, basic data storage, descriptive statistics, data visualization, dashboards, and ethical use of data. While a range of tools and technologies are discussed, this is not a programming course, and no prior programming experience is required.
DSAI-201 DATA SCIENCE TOOLKIT (3 Credits)
An introduction to traditional methods of Data Science with an emphasis on the relevant mathematics, statistics and theory. Topics to include regression, clustering, discriminant analysis, naive Bayes, variable selection, decision trees, and time series.
Prerequisite(s): TAKE CS-130
Corequisite(s): TAKE DSL-201
DSAI-201R DATA SCIENCE II (4 Credits)
This course takes a deep dive into machine learning models, natural language processing, and time series in Python. The following topics are covered: time series, regression, unsupervised learning, deep learning, feature engineering, and ethical implications. Students will use both unstructured and structured data to build machine learning models and use the models to create actionable and ethical predictions.
Prerequisite(s): TAKE CS-130
DSAI-211R AI FOR DECISION MAKING (3 Credits)
Artificial Intelligence decisions are often only as good as the person asking the question. In this course, youll learn how to ask the right ones and increase the productivity and innovation you can achieve with AI. Create better prompts, compare and contrast strengths and limitations, evaluate outcomes, and by the end of this course, understand and leverage the power of AI for decision-making across any discipline, opening up new career paths and personal growth.
DSAI-212R AI FOR CREATIVITY & DESIGN (3 Credits)
Generative AI has introduced a new paradigm of AI: the co-creator. Top professionals and companies use AI to improve productivity and creativity every day, and in this course, youll learn the iterative prompting, search, and functional evaluation metrics powering these uses. By the end of this course, youll integrate AI tools into a variety of creative skill sets, and your own projects, building new avenues for creativity in your career.
Prerequisite(s): TAKE DSAI-101R
DSAI-301 EMERGING TRENDS IN DATA SCIENCE (3 Credits)
An introduction to the established Data Science tool kit including clustering, the many faces of regression, random forests, and support vector machines. An optional introduction to neural nets and deep learning. An introduction to the presentation of Data Science results including proper visualization and storytelling. The course consists of three lecture hours and one two-hour laboratory per week.
Corequisite(s): TAKE DSAI-201 & DSL-201, OR TAKE DSAI-201RTAKE DSL-301
DSAI-301R AI & MACHINE LEARNING (4 Credits)
This course is a technical approach to cutting-edge AI methods. Students will produce machine learning models to solve business problems, evaluate modern AI use cases (such as computer vision) and adapt Large Language Models (LLMs) for specific applications.
Corequisite(s): TAKE DSAI-201 & DSL-201, OR TAKE DSAI-201RTAKE DSL-301
DSAI-341R PREDICITIVE MODELING IN AI (4 Credits)
This course brings the predictive power of AI to your toolbox. You'll discover how to analyze, interpret, and forecast complex data using AI tools. Learn through hands-on activities and practice techniques like regression analysis and neural networks. You'll also explore how to fill in missing data and estimate your confidence in your predictions. By the end of this course, you'll have in-demand skills for your career and be ready to take on more advanced studies.
Prerequisite(s): TAKE CS-130
DSAI-342R PRESCRIPTIVE AI (4 Credits)
Prescriptive AI teaches you the highest-value technical AI skills available. Youll use the advanced techniques of optimization, evolutionary computation, surrogate modeling, and agent building, helping you use AI for its true superpower: faster, better business decisions. Through real-world challenges and hands-on projects in decision-making, robotics, and more, youll be able to frame problems and train models that make you a desirable hire in any industry.
DSAI-351 DATA SCIENCE CASE STUDIES (3 Credits)
This course explores the challenges and opportunities in the evolving field of Data Science by evaluating case studies across the entire data science pipeline. Classes are interspersed with student presentations and discussions around best practices, technical implementation, and ethical concerns. Based on the reviewed case studies, students will analyze the future of Data Science and their role within the field.
DSL-201 DATA SCIENCE TOOLKIT LAB (1 Credit)
An introduction to traditional methods of Data Science with an emphasis on the relevant mathematics, statistics and theory. Topics to include regression, clustering, discriminant analysis, naive Bayes, variable selection, decision trees, and time series.
Prerequisite(s): TAKE CS-130 CSL-130
Corequisite(s): TAKE DS-201
DSL-301 EMERGING TRENDS IN DATA SCIENCE LAB (1 Credit)
An introduction to the established Data Science tool kit including clustering, the many faces of regression, random forests, and support vector machines. An optional introduction to neural nets and deep learning. An introduction to the presentation of Data Science results including proper visualization and storytelling. The course consists of three lecture hours and one two-hour laboratory per week.
Prerequisite(s): TAKE DS-201 DSL-201
Corequisite(s): TAKE DS-301