36 courses with the subject CSC, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CSC 101Introduction to Computing3
Computers have become a part of everyday life across many academic disciplines. In this course, students will acquire a broad knowledge of the computer science and information technology fields. Topics covered will include basic computer concepts, an overview of computational and algorithmic thinking, and an introduction to using computers to solve real- world problems. After completing this course, students will be prepared to apply computer concepts to other fields. Course Offered: Fall, Spring Credits: Credits:3 (3,0)
This is an introductory programming course. Students will be taught basic concepts of computer programming and problem solving using an object- oriented language. Selection, repetition, methods, classes, and arrays will be covered. Note: CSC 101 is recommended as a prerequisite, but not required for this course. Note: Students completing this course may not receive credit for BCS 120. Course Offered: Fall, Spring Credits: (3,0)
This course expands upon the knowledge and skills presented in Computer Programming I. Topics covered include: stack and heap memory, exception handling, inheritance, polymorphism, recursion, abstract types, unit testing, and basic GUI programming. Note: Students completing this course may not receive credit for BCS 230 Prerequisite(s): CSC 111 OR BCS 120 with a grade of C or higher Credits: (3,0)
This course provides students with an understanding of computer architecture and organization. Topics include machine level representation of data, assembly language and its relation to machine level organization, and memory system architecture. Students will complete a variety of programming assignments in assembly language and the C programming language. Prerequisite(s): CSC 111 with a grade of C or higher. Credits: (3,0)
The study of discrete mathematics forms the foundation for the theory and practice of computer science. This course discusses the fundamentals of logic, proofs, sets, functions, relations, recursion, recurrence relations, mathematical induction, graphs, trees, basic counting theory, regular languages, and context free grammars. Prerequisite(s): MTH 150 or MTH 130 with a grade of C or higher Credits: (4,0)
This course introduces students to game theory fundamentals and their computational implementations. Students will explore strategic decision- making, equilibrium concepts, and algorithmic game theory through theoretical analysis and practical programming assignments. The course integrates and explores contemporary research topics in the field with hands-on projects. Prerequisite(s): CSC 229 with a grade of C or higher Credits: (3,0)
This course discusses the fundamental knowledge of software engineering methods and supporting tools in the context of modern software development. This course takes a close look at the various phases of software projects: definition, design, development, .delivery, management, and maintenance. The modern methodologies used in each of these phases will be explored, as well as their integration into successful projects Students will learn through individual and team projects how to use version control systems and apply the principles of V software quality assurance. Prerequisite(s): CSC 229 with a grade of C or higher Credits: (3,0)
This course is the first in a two-course sequence that provides an immersive introduction to Game Development, focusing on basic programming languages essential for game creation, understanding game engines, and designing fundamental 2D and 3D games. Students will explore game mechanics, gameplay elements, and interactive experiences. The course also delves into the development of mobile games, ensuring a well-rounded understanding of game development across various platforms. By the end of this course, students will have acquired the foundational skills and knowledge to embark on their journey into developing more advanced games and applications. Prerequisite(s): CSC 229 with a grade of C or higher Credits: (3,0)
This course focuses on understanding how computer networks behave and the key principles of their organization and operation. Topics include layering, encapsulation, multiplexing, packet switching, principles of reliabl data delivery, principles and mechanisms for congestion control, resource allocation, address translation, and other networks-related topics. Students will program and experiment with computer networks using specialized tools. Students completing this course may not receive credit for BCS 208. Prerequisite(s): CSC 211 with a grade of C or higher Credits: Credits:3 (3,0)
This course studies the design and implementation of computer operating systems. Topics covered include operating systems, principles, processes, CPU scheduling, concurrency, memory management, file systems, protection and security. Prerequisite(s): CSC 229 and CSC 243 with a grade of C or higher Page 204 • Course Index • 2026-20 Credits: Credits:3 (3,0)
This course will introduce students to the foundations of quantum computing. Starting with an introduction to the necessary linear algebra fundamentals and notation, the course will cover quantum algorithms such as: Deutsch's Algorithm, the Deutsch-Jozsa Algorithm, Simon's Periodicity Algorithm, Grover's Search Algorithm, and Shor's Factoring Algorithm. The course will expose students to entanglement, quantum teleportation, quantum development kits, and other current research topics. Students will also program simulated quantum computers. Prerequisite(s): CSC 211 and MTH 245 with a grade of C or higher. Credits: (3,0)
Human-Computer Interaction (HCI) focuses on how to design computer interfaces so humans can interact with them naturally. HCI has expanded rapidly and steadily for the last three decades, attracting professionals from many other disciplines and incorporating diverse concepts and approaches. Topics covered include new interaction styles, materials design, intelligent user interfaces and prototyping, design and perception, date visualization, human factors, multimedia, speech, and other related areas. Students will design a user interface, program a prototype, and test the result for usability. Prerequisite(s): CSC 229 with a grade of C or higher Credits: (3,0)
. This course focuses on the study of data and its storage with an emphasis on relational database technology and exposure to NoSQL. Students will learn the entire process of database development from data gathering to querying a fully normalized relational database. Prerequisite(s): CSC 211 or BCS 230 with a grade of C or higher Credits: (3,0)
Data science is a dynamic and fast-growing field that uses scientific methods to extract knowledge and insights from data. The course will survey the foundational topics in data science, including data collection, integration, exploratory data analysis, data visualization and effective data communication. Prerequisite(s): CSC 229 or (BCS 109 and CSC 211 and Junior Level Standing) with a grade of C or higher Credits: Credits:3 (3,0)
This course offers an introduction to mobile application development, covering techniques for designing the user interface. It includes discussions on the mobile application lifecycle, resources, material design, interaction, and managing limited resources like battery and memory. Students will gain hands-on experience using mobile application development platforms such as Android Studio. Prerequisite(s): CSC 229 with a grade of C or higher Credits: (3,0)
CSC 372Foundations of Theoretical Computer Science
Computer science theory has implications both for what problems programmers choose to solve and for how they solve them. This course introduces students who are familiar with the craft of programming to the underlying theory. Topics discussed include selections from automata theory, computability theory, and complexity theory. Prerequisite(s): (BCS 230 or CSC 211) and (MTH 130 or MTH 150) with a grade of C or higher and
This course teaches the essentials of developing secure software in accordance with the most current industry standards. It is designed to give students practical experience using security principles and techniques. Students will engage in significant programming real-world projects where they design, analyze, implement and test practical codes. Topics covered include: secure designs, risk analysis, threat modeling, defensive coding, penetration testing, fuzzing, static analysis, and security assessment. Prerequisite(s): CSC 311 and CSC 325 with a grade of C or higher. Credits: (3,0)
This course covers advanced topics in mobile app development, focusing on cross-platform techniques. Topics include integrating cloud services for data storage and real-time updates, improving app scalability and collaboration, performance, leveraging device sensors for context-aware applications, and implementing responsive functions. This course discusses design principles for custom animations, dynamic layouts, and adaptive Uls for consistent user experiences on various devices. The course also provides insights into efficient app deployment such as Google and iOS app stores using cross- platform tools and frameworks. Prerequisite(s): CSC 371 with a C or higher. Credits: (3,0)
This course is an advanced software engineering class with focus on modern systems. This course discusses the verification and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and documentation. Prerequisite(s); CSC 325 with a grade of C or higher Credits: (3,0)
The course covers the theoretical and practical foundations of video game development using the modern game engines. Students will learn the following: to develop a game concept; prototype, test, and iterate on their ideas; and navigate licensing, marketing, and other considerations This course builds a solid foundation for industry roles as a gameplay designer, technical designer, or programmer. This course discusses current techniques such as Mixed Reality and Navigation with Artificial Intelligence. Students will receive hands-on experience with several practical projects. Prerequisite(s): CSC 327 with a grade of C or higher. Credits: (3,0)
Efficient storage and access of data is essential for the fast solutions of complex computational problems. In this course students will be exposed to a selection of advanced data structures and the algorithms that operate on them. Advanced analysis techniques, such as the amortized analysis of data structures, will be covered. Students will also be exposed to intractable problems and their approximation. Data structures to be studied may include B+ trees, union-find, Fibonacci heaps, and blockchains. Additional data structures and algorithms may also be studied. Prerequisite(s): CSC 329 with a grade of C or higher Credits: (3,0)
This course offers a comprehensive exploration of the principles, protocols, and technologies that form the foundation of modern wireless networks. Students will learn about the wireless physical layer (signal propagation, spectrum, modulation, path loss, interference), and wireless network architecture for a variety of systems. The curriculum balances theoretical knowledge with practical experience using state-of-the-art wireless research platforms. The course will also cover emerging topics and challenges in the field. Prerequisite(s): CSC 332 with a grade of C or higher Credits: (3,0)
This course builds upon the theoretical and programming foundations introduced in earlier courses to teach students about the structure and function of compilers and compiler components. Compilers are tools that convert high-level languages designed for human readability into low level languages designed for machine execution, and are vital to the democratization of information technology. Students will study aspects of lexical analysis, parsing, semantic analysis, code generation, and execution on a virtual machine. Prerequisite(s): CSC 243 and CSC 329 with a grade of C or higher Course Index • 2026- Credits: (3,0)
This advanced course provides a hands-on exploration of quantum computing, focusing on practical implementation rather than theory. Students will develop and execute quantum algorithms, including Deutsch's Algorithm, the Deutsch—Jozsa Algorithm, Simon's Periodicity Algorithm, Grover's Search Algorithm, and Shor's Factoring Algorithm, using quantum development kits and simulators. The course covers essential quantum computing concepts such as entanglement, quantum teleportation, and quantum error correction, integrating them into coding exercises and real-world applications. Through programming-intensive projects, students will gain experience working with quantum gates, circuits, and simulators, preparing them to engage with emerging quantum technologies. Prerequisite(s): CSC 348 with a grade of C or higher Credits: (3,0)
Many cognitive tasks that can be done easily and almost unconsciously by humans have proven extremely difficult to program on a computer. Artificial intelligence (Al) and machine learning deal with developing computer systems that can carry out these tasks. This course focuses on representation, reasoning, processing, and machine learning. Prerequisite(s): CSC 229 with a grade of C or higher Credits: (3,0)
This course discusses machine vision and pattern recognition, emphasizing their roles in real-life applications such as the health and automotive sectors. Through hands-on exercises using the latest tools, students will engage with critical topics like image processing, classification, unsupervised and supervised learning such as CNN, and other emerging techniques. This course integrates foundational theories with industry-relevant practices for a holistic grasp of these pivotal technologies. Prerequisite(s): CSC 325 and CSC 366 with a grade of C or higher Credits: (3,0)
The primary objective of this course is to give Computer Science students an opportunity to integrate techniques and concepts acquired in their coursework to the real-world experience of putting together and developing a functioning system. Elements will be drawn primarily from previous coursework, however everyone, functioning as part of a team, is required to go beyond what they've learned in coursework in order to develop a working system. The course is experiential in nature i.e. the student will be required to produce results for use by real individuals and will be evaluated both on process and end-product. In addition to prerequisites, Senior level standing is required. Prerequisite(s): CSC 311 and CSC 325, all with a grade of C or higher, and Senior Level Standing and Departmental Approval Credits: (4,0)
Courses that range from 496-497 will cover topics not covered in the regular curriculum. Topics may vary from term to term and reflect the interests of students, faculty and industry. Please check with the department office for information on topics to be covered each semester. Prerequisite(s):
Courses that range from 496-497 will cover topics not covered in the regular curriculum. Topics may vary from term to term and reflect the interests of students, faculty and industry. Please check with the department office for information on topics to be covered each semester. Prerequisite(s):
This course allows students to receive credit for academic research and development work performed under the supervision of a full-time computer systems faculty member in a specialized area of mutual interest. The student will have an opportunity to work individually, or with a group in designing, developing, and preparing for publication the results of a research or development project. Enrollment requires prior agreement with both the supervising faculty member as well as the department chair. Credit can be received for this course more than one time with prior department permission. Prerequisite(s): Permission of department 2027 College Catalog • Page 205