CSC 150 Modern Applications of Computer Science (2 hours)
A gentle introduction to the computing applications of the modern world, this course explores computer science through seven big ideas of modern computing: data visualization, abstraction, algorithm design, basic cryptography, a simple program, structure of the internet, and the global impacts of computing. Includes as application of these ideas sections on spreadsheets, databases, and social media. Offered every fall semester.
CSC 201 Introduction to Programming (5 hours)
This course introduces the student to the fundamental techniques of problem solving and algorithm construction. The student will design, test, and complete several substantial programming projects. Topics include data types, file manipulation, methods, parameters, visibility, classes, control structures, arrays, enumerated types, object-oriented programming, inheritance, polymorphism, and basic software design and testing. It includes a lab component that includes hands-on work with the above topics as well as debugging. The computer language used in the course will be at the discretion of the instructor. Offered every fall semester.
CSC 202 Data Structures (4 hours)
In “Introduction to Programming,” did you ever get the feeling that there has to be a better/smarter way to do some problems? This course is all about how to store information intelligently and to access it efficiently. After a brief review of inheritance and recursion, students are introduced to formal algorithm analysis, linked lists, multidimensional arrays, basic design patterns, queues, stacks, binary trees, heaps, hash tables, graphs and graph algorithms, binary search, and sorting algorithms. Offered every spring semester. Prerequisite: CSC 201 with a grade of “C-” or higher.
CSC 290 Special Topics in Computer Science (1-4 hours)
This course provides an introductory examination of a contemporary topic in computing and/or emerging technologies. The topic will vary from offering to offering. Possible topics include basic simulation, ethics in computing, information systems, and web design. This course may be taken more than once provided that the topic is different. Prerequisite: See individual course listing in the current semester course schedule.
CSC 400 Advanced Independent Study in Computer Science (1-4 hours)
Supervised research on a selected topic. Prerequisite: Submission of a proposed outline of study that includes a schedule of meetings and assignments approved by the instructor, the division chair and the provost or associate provost no later than the final day of the drop/add period of the semester of study. For additional criteria, see Independent Study Policy (Sec. 6.15.).
CSC 490 Advanced Special Topics in Computer Science (4 hours)
This course provides an advanced examination of a basic area of computer science. The topic will vary from offering to offering. Possible topics include database technologies, software engineering, theory of computation, programming languages, computer architecture, operating systems, networking, algorithmic simulation, machine learning, algorithm design, and discipline-specific computing and technology (bioinformatics or computational physics). This course may be taken more than once provided that the topic is different. Prerequisite: See individual course listing in the current semester course schedule but at least CSC 201 (with a grade of “C-“or higher) will be required.
CSC 491 Internship in Computer Science (1-4 hours)
An internship is designed to provide a formalized experiential learning opportunity to qualified students. The internship generally requires the student to: obtain a faculty supervisor in the relevant field of study; submit an application which addresses both the on-site and the academic components of the internship; and satisfy all internship requirements developed by the academic program which oversees the internship. The career development office maintains an extensive list of internships, all of which are graded on a Satisfactory/Unsatisfactory basis. Prerequisites: These are determined by the academic program overseeing the internship course, but typically include: permission of the faculty supervisor; meeting the qualifications for the internship program; obtaining permission of an internship site supervisor; and development of an internship plan which is acceptable to relevant parties including the faculty supervisor and others, as required by the relevant academic program.