Computer Science Minor

The Computer Science minor offers students the opportunity to study computation including the design and analysis of algorithms (step-by-step sequences of instructions for carrying out some task), the formalization of algorithms as programs, and the development of computing devices for executing those programs. A minor in computer science provides a strong foundation in computing that can complement other major fields and also prepare graduates for assessing the technology they use in everyday life. 

Minor in Computer Science Requirements: 18 Credits*

CSC 221Introduction to Programming3
CSC 222Object-Oriented Programming3
CSC Upper-Level Electives 1
Select four CSC courses (12 credits) of 300-level or above 212
Total Credits18
1

CSC 493 Directed Independent Readings, CSC 495 Directed Independent Study, CSC 499 Directed Internship will not count toward the minor. CSC 121 Computers and Scientific Thinking may be counted toward the minor at the discretion of the department.

2

CSC 450 Data of/by/for the People may NOT be applied toward any major, minor, certificate or degree.

*

Kingfisher concentration requirements are 9 credits total, chosen from the list of courses in the associated minor. Unless otherwise specified.

Courses

CSC 111. Basics of Coding. 3 credits. OD

An introduction to programming and problem-solving in which students create interactive applications and systems through project-based learning. Students will learn problem solving, software design, debugging strategies, and the foundations of computer science (data structures, procedures, and algorithms).

CSC 121. Computers and Scientific Thinking. 3 credits. FA, SP

An introduction to science and scientific reasoning from a perspective that integrates computer science and the natural sciences. Students will gain a basic understanding of computer technology and how computers and computer modeling are used in various scientific disciplines. Methods and applications from the biological sciences will be emphasized.

CSC 221. Introduction to Programming. 3 credits. FA, SP

A first course in computer programming and problem solving, with an emphasis on designing and developing solutions to real-world problems (such as system modeling, data analysis, and multimedia processing). Specific topics include algorithm development, basic control structures, simple data types and data structures.

CSC 222. Object-Oriented Programming. 3 credits. FA, SP

A second course in computer programming, emphasizing the object-oriented approach to software development. Specific topics include object-oriented design, classes and objects, encapsulation, list processing, and recursion. P: CSC 221.

CSC 321. Data Structures. 3 credits. FA

An introduction to fundamental data structures used in solving problems, including the programming and mathematical concepts required to implement and analyze data structures. Specific data structures include lists, stacks, queues, linked structures, sets, and maps. Supporting concepts include logic, proof techniques, and basic graph theory. P: Grade of "C" or better in CSC 222.

CSC 414. Computer Organization. 3 credits. SP

An introduction to the organization and design of modern computing devices. Topics include basic addressing modes, instruction formats and interpretation, I/O devices, memory organization, and microprogrammed control. P: CSC 221.

CSC 421. Algorithm Design and Analysis. 3 credits. SP

An advanced problem-solving course that focuses on the design, implementation, and analysis of algorithms. Specific algorithmic approaches include divide-and-conquer, greedy, backtracking, and dynamic programming. The connections between algorithms and data structures, such as trees and hash tables, are highlighted. P: CSC 321.

CSC 426. Data Visualization. 3 credits. SP (Same as GDE 426)

In today’s world we are inundated with data. So much so that is is often overwhelming, confusing, and ultimately meaningless. By combining the principles of art, design, and statistics, Data Visualization teaches the tools and methods to harness that data and make it meaningful. It also enables clear communication and sets up the possibility for deep insights. P: GDE 324 or CSC 121.

CSC 444. Human Computer Interaction. 3 credits. OD

An introduction to human computer interaction and design thinking, including the design and prototyping of interactive technologies using the User Centered Design philosophy. Students will learn how to conduct and analyze user research, and practice the process of ideating, prototyping, and evaluating their designs.

CSC 445. Social Networks Analytics. 3 credits. OD

This course provides an introduction to graph theory, social network analysis, and data mining. Students will learn the current trends in social network research, understand the theories behind it, collect data from various sources, use social cyber forensics techniques to extract metadata, and apply what's learned to extract meaningful insights. Prereq: CSC 221.

CSC 450. Data of/by/for the People. 3 credits. SP

Data arising from and about the 24th Street Corridor is the focus of this course, which gives an overview of quantitative research methods and focuses the students experientially on planning, gathering, cleaning, and analyzing data from community stakeholders. Students will design and develop data-driven projects using programming and statistical software. Note: this course may not count toward the CSI major, minor, A.S. degree, or Certificate. P: Critical Issues in Human Inquiry or HRS 100 ; Mathematical Reasoning; Senior standing.

CSC 493. Directed Independent Readings. 1-3 credits. OD

A directed reading course investigating current topics in computer science. May be repeated for credit to a limit of six hours. P: IC.

CSC 495. Directed Independent Study. 1-3 credits. OD

A directed study course investigating current topics in computer science. May be repeated for credit to a limit of six hours. P: IC.

CSC 497. Directed Independent Research. 1-3 credits. OD

A research project under the guidance of a member of the faculty. May be repeated for credit to a limit of six hours. P: IC.

CSC 499. Directed Internship. 1-3 credits. OD

Students gain professional experience by placement in a computing company or information technology department on a part-time basis for one semester. Students will work closely with a faculty advisor to define the project, identify its academic content, and report on its results. P: IC.

CSC 525. Theory of Computation. 3 credits. OD

A study of models of computing and the theoretical limitations of computation. Specific topics include formal grammars, finite state machines, Turing machines, and computability. P: CSC 421.

CSC 533. Programming Languages. 3 credits. SP

A survey of modern languages, including their design and implementation. Specific topics include declarative programming, procedural programming, scripting, syntax and semantics, memory management, data types, and control structures. P: CSC 321.

CSC 542. Database Design and Security. 3 credits. FA

A survey of techniques for designing and implementing databases using a relational model, with an emphasis on security and data assurance. Specific topics include relational algebra, SQL, normal forms, database design, concurrency control, and error recovery. P: CSC 222.

CSC 548. Software Engineering. 3 credits. FA

A project-based course that utilizes industry-proven methodologies for the design, implementation, and management of software projects. Specific topics include team coordination, UML modeling, design specifications, version control, reusability, and testing. P or Co: CSC 321.

CSC 550. Introduction To Artificial Intelligence. 3 credits. OD

A survey of foundational concepts and current research in artificial intelligence. Specific topics include knowledge representation, search methods, expert systems, machine learning and perception, neural networks, and emergent systems. P: CSC 222.

CSC 551. Web Programming. 3 credits. FA

An advanced study of Internet and Web protocols and the integration of programming techniques with a Web interface. Both client-side and server-side programming are covered, with topics including HTML, client-side scripting, server-side programming via the Common Gateway Interface, and current development technologies. P: CSC 222 or CSC 121 and CSC 221.

CSC 581. Mobile App Development. 3 credits. SP

A project-based course that presents the fundamental concepts and techniques of mobile application development. Specific topics include modern design methodologies, mobile resource limitations, development tools, and project management. P: CSC 222.

CSC 590. Special Topics. 3 credits. OD

An in-depth examination of one or more current topics in computer science, through a combination of lecture, discussion and student presentations. P: IC.

CSC 599. Senior Capstone. 3 credits. FA

A project-based capstone course intended for computer science seniors. Each student will design, implement, and present a project that integrates computer science content from his or her major courses. Seminal papers and results in computer science will be selected and reviewed in a seminar-style setting, with emphasis on the ethical and professional responsibilities of computer scientists. P: CSI major; Ethics course; Oral Communication course.