Computer Science

Associate Professor: Marcus Birkenkrahe
Assistant Professor: Pietro Dall'olio

Computer Science is a rapidly changing and exciting field. Its impact on our lives is evidenced by the variety of uses of information technology in business, industry, entertainment, science, and government, to name a few. The Computer Science Major focuses on the foundations of the computer sciences including areas such as software and hardware design, mathematical foundations of computer science, and complexity of computation. The program is designed to give students an enduring foundation for future professional growth. The program blends theory and practice into a learning experience that gives students the capability to apply computer and information systems technology to a wide range of disciplines. 

  •  MTH 115 and MTH 210 may also be used to satisfy core requirements. 

NOTE: To graduate with a Bachelor of Arts or Bachelor of Science degree from Lyon College, students must successfully complete a minimum of 120 semester credit hours comprised of our required Core curriculum, the requirements of at least one major (credit hours vary per major), and a selection of our Liberal Arts electives. They must also earn at least a 2.00 cumulative grade point average for all work taken at Lyon College and a 2.00 cumulative grade point average in their major, minor, and concentration.

Degrees

Courses

CSC 105: Digital Humanities (PS)

Class Program
Credits 3

An introduction to the theory and methods of Digital Humanities. Topics will include digital text encoding (XML), text computation and analysis, data visualization, and geographic information system (GIS) mapping.

CSC 109: Introduction to Programming in Python

Class Program
Credits 3

This course assumes students have no prior programming experience and then introduces them to the Python programming language. Topics include basic programming concepts, problem-solving methods, algorithm development, program design and learning the use of  packages/ libraries useful for data processing tasks.

Prerequisite Courses

CSC 181: Introduction to Cybersecurity

Class Program
Credits 3

In today’s world, no one is safe from cyber-attacks, but everyone can be prepared. This course will teach you how malicious actors use social manipulation and technology to launch devastating attacks – and provide you with the tools you'll need to defend against them. Whether you pursue one of the many available jobs in cybersecurity or just want to secure your own privacy, you'll learn how to make the Internet safer.

Prerequisite Courses

CSC 191: Introduction to Games

Class Program
Credits 3

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 (International Game Developers Association) to help everyone interested in the games industry start on the right foot.

Prerequisite Courses

CSC 230: Web Development

Class Program
Credits 3

This course introduces basic web page development techniques. Topics include HTML, CSS, scripting languages, and commercial software packages used in the development of web pages. The course also includes detailed discussion of design practices, such as the appropriate use of text and graphics, font and color selection, navigation techniques, media formats, and methods of enhancing the user experience.  At the conclusion of this course, students will be able to use specified markup languages to develop basic web pages.

Prerequisite Courses

CSC 240: Data Structures with C++

Class Program
Credits 3

Fundamentals of data structures as they are used for the efficient storage and manipulation of data.Topics include common data structures that are used in various computational problems, such as stacks, queues, trees, lists, and heaps

Prerequisites

MTH 101 and one of the following: CSC 100, CSC 115 or CSC 109

CSC 255: Computer Architecture

Class Program
Credits 3

Introduction to computer organization and the basic structure of a modern programmable computer. Topics covered include the von Neumann architecture, the CPU, pipelining, memory hierarchy, assembly/ machine language, and the basic laws underlying performance evaluation.

Prerequisites

CSC 240 and CSC 245

CSC 265: Algorithms

Class Program
Credits 3

Study of algorithmic paradigms including divide and conquer algorithms, greedy methods, dynamic programming, heuristics, and probabilistic algorithms.

Prerequisite Courses

CSC 271: Introduction to Generative AI

Class Program
Credits 3

Generative AI is AI that can produce new content - answers, code, music, art, video, and more. Those who harness it are more productive, more in-demand, and more highly paid. Those who don’t will be left behind. This lightly technical intro will teach you the foundational skills to level up your understanding of transformers, LLMs, and more. By the end of this course, you will engineer better prompts and apply chain-of-thought techniques to generate AI solutions. (Same as DSC 271.)

Prerequisite Courses

CSC 272: Career Navigation and Exploration in AI

Class Program
Credits 3

AI jobs are exploding, but the pathways to discover and land them aren’t always clear. In this course, you’ll explore the wide - and growing - variety of career pathways your AI skills unlock. You’ll understand salaries, growth trends, target jobs, and the skills needed to land them. You’ll deepen an understanding of resume and interview skills, achievable goals, and careers that meet your needs for meaning, excitement, and a lucrative financial future. (Same as DSC 272.)

Prerequisite Courses

CSC 283: Network and System Security

Class Program
Credits 3

Modern organizations know that even the strongest systems can be vulnerable to cyberattacks. As a result, jobs in cybersecurity are rapidly expanding as companies look to secure their digital assets. This course will teach you how to secure those assets by identifying and fixing potential security vulnerabilities. By the end of the course, you will be able to identify and remedy common network and systems vulnerabilities.

Prerequisite Courses

CSC 284: Cybercrime and Governance

Class Program
Credits 3

This course explores the critical role of governance in mitigating cybercrime and ensuring the integrity of digital environments. You will learn how governments detect and stop cybercrimes, and become familiar with the laws and policies in place to deter cybercriminals. Develop and implement robust security policies and procedures that align with legal and ethical standards and help create a resilient, compliant digital ecosystem.

Prerequisite Courses

CSC 285: Career Navigation and Exploration in Cybersecurity

Class Program
Credits 3

This course will help you find a job in Cybersecurity upon graduation. Not just any job; one that meets your personal and financial needs and makes you excited about the future. In this course, you’ll explore career paths in Cybersecurity, potential salary outcomes, and different roles. Then, you’ll pick target jobs and opportunities that are the best fit for you, and make a clear plan of action toward securing them.

Prerequisite Courses

CSC 292: Content and Systems Design

Class Program
Credits 3

If you’ve ever enjoyed the experience of playing a video game, you’ve had a first-hand 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.

Prerequisite Courses

CSC 301: Junior Internship

Class Program
Credits 1 2

Practical experience through a supervised internship. Students can conduct their internships on-site, working under the supervision of computing/automation/IT professionals, or on eIntern.

Prerequisites

CSC 100 and permission of instructor

CSC 320: Programming Languages

Class Program
Credits 3

A study of programming languages, their data, paradigms, and design and implementation issues. Topics include language representation, control structures, binding, run-time environment, exception handling, information handling, encapsulation and static and dynamic types.

Prerequisite Courses

CSC 330: Database Theory and Application

Class Program
Credits 3

An introduction to the theory of databases, database design, and database application development. Topics include database models such as relational, network, hierarchical, object-oriented, and distributed. Students will apply this theory to the development of an actual database application.

Prerequisites

MTH 115 or MTH 290 and one of the following: CSC 100, CSC 115, or CSC 109

CSC 373: Predictive Modeling in AI

Class Program
Credits 3

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. (Same as DSC 373)

Prerequisite Courses

CSC 385: Security Operations

Class Program
Credits 1 3

The moments after a breach can make or break an organization. When the unthinkable happens and a cybercrime is discovered, the actions taken by the security operations team can either contain the damage and restore order or lead to catastrophic consequences. This course examines the tools and techniques used to conduct investigations into cybercrimes and teaches the defensive skills necessary to ensure a breach doesn’t occur in the first place.

Prerequisite Courses

CSC 386: Ethical Hacking

Class Program
Credits 3

To stop a hacker, you need to be able to think like a hacker. In this course, you will learn hands-on techniques for attacking and penetrating networks and systems. You’ll learn the tools to launch these offensive tactics, and then complete a hands-on project where you will be asked to ethically hack a real system.

Prerequisite Courses

CSC 393: Unity I: Working with Unity

Class Program
Credits 3

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 (International Game Developers Association), 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.

Prerequisite Courses

CSC 394: C# Programming

Class Program
Credits 3

C# is a modern, general purpose, object oriented programming language with a range of uses, most notably creating desktop applications, web applications, web services and building games using the Unity engine. This course is intended to give students a working knowledge of the C# programming language and the .NET framework, as well as an understanding of C#’s application to the Unity Game Development Engine. This online course has optional live sessions.

Prerequisite Courses

CSC 401: Senior Internship

Class Program
Credits 1 2

Practical experience through a supervised internship. Students can conduct their internships on-site, working under the supervision of computing/automation/IT professionals, or on eIntern.

Prerequisites

CSC 100 and permission of instructor

CSC 415: Numerical Analysis

Class Program
Credits 3

Examination of error analysis, interpolation, approximate differentiation, approximate integration, solutions to differential equations, matrix manipulation, and solutions to systems of linear equations. (Same as MTH 415)

Prerequisites

MTH 210 and one of the following: CSC 100, CSC 115, or CSC 109

CSC 420: Operating Systems

Class Program
Credits 3

An introduction to the components and organization of operating systems. Batch, interactive and distributed operating systems will be considered. Other topics include multiprogramming, multiprocessing, concurrent programming, memory management, and resource allocation.

Prerequisite Courses

CSC 474: Prescriptive AI

Class Program
Credits 3

Prescriptive AI teaches you the highest-value technical AI skills available. You’ll 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, you’ll be able to frame problems and train models that make you a desirable hire in any industry. (Same as DSC 474)

Prerequisite Courses

CSC 485: The Future of Cybersecurity

Class Program
Credits 3

Technology is racing forward, and cybersecurity must stay ahead to meet new challenges and threats. In this class, you will learn about the changing landscape of cybersecurity, emerging mobile technologies that are likely to be targeted, and new forms of cyber-attacks being launched. By the end of the course, you will be able to implement the most cutting-edge practices in cybersecurity in order to protect against attacks.

Prerequisite Courses

CSC 488: Cybersecurity Capstone

Class Program
Credits 3

The Capstone course is the culmination of the Cybersecurity program, allowing students to apply their knowledge to real-world challenges. Students will undertake a comprehensive project integrating various aspects of cybersecurity, including log analysis, vulnerability assessment, incident response, ethical hacking, and cloud security. This project will develop critical thinking skills and prepare students for major cybersecurity certifications.

Prerequisite Courses

CSC 495: Unity II: Advanced Unity Programming

Class Program
Credits 3

This course is intended to provide students with the skills and knowledge to bring their mastery of the Unity game engine and C# programming up to a professional standard. Students will learn how to perform a range of vital code-based tasks within the Unity platform, and will grow their skills in building core gameplay functionality, supporting systems and platform-specific optimizations. This course was built in collaboration with Unity. Upon successful completion, students will be prepared to sit for the Unity Certified Associate: Programmer exam.

Prerequisite Courses

CSC 496: Capstone Project: Building a Game

Class Program
Credits 3

This course is intended as a culmination of all a student’s work in the Unity Game Development major. Students will work in groups to build a game in the unity engine that uses real-time 2D or 3D visuals and showcases their understanding of the core principles of game design. Students will pitch their game, design, prototype, build, and test their game. Students will be evaluated based on the quality of their game, and their internal project management processes. This online course has optional live sessions.

Prerequisite Courses