CSC (Computer Science)

CSC 180 Modeling via Excel and R (2 hours)
This course provides an introduction to mathematical modeling using the software tools Excel and R. Students learn both the spreadsheet and statistical software methodologies of thinking as well as proficiency with both software tools.  Examples of the types of models built are accounting models, financial models, and various types of regression models.  Offered the spring semester of odd years and regularly in the January Term.  Prerequisite:  None.

CSC 200 Independent Study in Computer Science (1-4 hours)
This course provides the opportunity for an intense study of diverse topics under the direct supervision of the instructor. The student and instructor will collaborate to develop the content of the course, which must be approved as outlined by the Independent Study Policy.  (Sec. 6.15.)

CSC 201 Introduction to Programming (4 hours)
This course introduces the student to the fundamental techniques of problem solving and algorithm construction.  The student will design, test, and complete several 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.  The computer language used in the course will be at the discretion of the instructor but the same for any given semester. Offered every fall semester.  Corequisite: CSC 201L.

CSC 201L Introduction to Programming Laboratory (1 hour)
This lab component complements the material covered in CSC 201 that week and includes hands-on work with the above topics as well as debugging, function design, and class design.  The computer language will be the same as the one used for that semester in CSC 201.  Offered every fall semester.  Corequisite: CSC 201.

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 230 Introduction to Software Engineering (4 hours)
This course focuses on techniques used in large scale scientific or technical software development, including requirements analysis, specification, systems design, implementation, testing, validation, verification, and maintenance. Offered fall semesters. Prerequisite: CSC 202 with a grade of “C–” or higher.

CSC 270 Computer Organization (4 hours)
This course introduces the principles of computer architecture and assembly and machine language. Topics include binary and hexadecimal arithmetic, signed and unsigned arithmetic, memory organization, addressing modes, procedure calls, the stack frame, floating point unit and instruction encoding, as well as writing assembly language programs. Offered every fall semester. Prerequisites: CSC 201 with a grade of “C-” or higher, MAT 210 OR MAT 241 with a grade of “C-” or higher.

CSC 290 Special Topics in Computer Science (1-4 hours)
Courses of selected topics will be offered periodically as determined by the needs of the curriculum. Prerequisites can vary based on the topic selected. See individual course listings for each semester for the specific topic and any prerequisites.

Specifically, this Computer Science 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.

CSC 300 Programming Language Concepts (4 hours)
This course focuses on the structure of programming languages. Topics include fundamental programming language concepts, including syntax versus semantics, binding time, scopes, and storage management. Offered even fall semesters. Prerequisites: CSC 202 with a grade of “C–” or higher, CSC 270 with a grade of “C–” or higher.

CSC 320 Analysis of Algorithms (4 hours)
This course focuses on the theory of efficient algorithms. Topics include: techniques for designing efficient algorithms; analysis of algorithms; lower bound arguments; algorithms for sorting, selection, graphs, and string matching. Offered every spring semester. Prerequisite: CSC 202 with a grade of “C-” or higher, MAT 210 OR MAT 241 with a grade of “C-” or higher.

CSC 335 Object-Oriented Design Project (2 hours)
This course focuses on application of their previous coursework to work together as a team to complete a project in consultation with the instructor. Each group project includes following sound software engineering practices to complete an appropriate project. Every J-Term and Even-year Springs. Prerequisite: CSC 230 with a grade of “C-” or higher.

CSC 400 Advanced Independent Study in Computer Science (1-4 hours)
This course provides the opportunity for an advanced, intense study of diverse topics under the direct supervision of the instructor. These offerings are generally suited for junior or senior students. The student and instructor will collaborate to develop the content of the course, which must be approved as outlined by the Independent Study Policy.  (Sec. 6.15.)

CSC 490 Advanced Special Topics in Computer Science (1-4 hours)
Advanced courses of selected topics will be offered periodically as determined by the needs of the curriculum. These offerings are generally suited for junior or senior students. Prerequisites can vary based on the topic selected. See individual course listings for each semester for the specific topic and any prerequisites.

Specifically, this Computer Science 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.

CSC 495 Internship in Computer Science (1-12 hours)
An internship designed to provide a formalized experiential learning opportunity to qualified students. The internship generally requires the student to have an application (which satisfies all internship requirements developed by the academic program that oversees the internship) and to obtain a faculty supervisor in the relevant field of study. All internships are graded on a Satisfactory/Unsatisfactory basis. Prerequisites are determined by the academic program overseeing the internship course.

CSC 496 Senior Seminar in Computer Science (2 hours)
This course stresses the communication of ideas in Computer Science – both in written and oral forms. Content will be appropriate for a senior level course in areas like machine learning, artificial intelligence, theory of computation, and cloud computing. Course topics will be chosen taking into consideration recent offerings and the needs of the Oglethorpe community. Offered every spring semester. Prerequisites: CSC 202 with a grade of “C–” or higher, MAT 210 OR MAT 241 with a grade of “C-” or higher, and Senior Computer Science major standing.