BSC College Catalog
Birmingham-Southern College Catalog

Computer Science (CS)

Division of Science and Mathematics

Marietta Cameron, Lewis Patterson, Richard S. Turner

[ Major Requirements | Minor Requirements ]
[ Honors in Computer Science | Courses in Computer Science ]

The major in computer science is intended for students who wish to learn about the design of computer systems and their applications, and is designed to prepare students for careers in computing and/or graduate studies.

Major Requirements

The following courses are required (10 units):
    CS 170
    CS 250
    CS 290
    CS 499
    MA 231
    MA 240
    four additional courses in CS at the 300 level or above,
      at least one of which must be a 400-level course
Computer science majors planning on graduate work should consider taking additional computer science courses and additional mathematics courses beyond MA 231. Recommended computer science electives for students intending to pursue graduate study include CS 360, CS 380, CS 390, CS 460, and CS 465. Recommended electives for students seeking immediate employment upon graduation include CS 300, CS 330, CS 420, and CS 430. Students are encouraged to meet with faculty as soon as possible for advising concerning their intended goals.

Courses required for a computer science major may be used to meet minor requirements in mathematics.

Students interested in both computer science and mathematics should consider the interdisciplinary major in computer science-mathematics, the requirements of which may be viewed by following the link to the Interdisciplinary Major Requirements section of this catalog.

Minor Requirements

(Thus section has been updated. Click here for details.)

Internships and teaching experience may not count toward the minor. Interim projects may not count toward the minor unless approved by the computer science faculty.

The following courses are required (5 units):

    CS 170
    CS 250
    CS 290
    one unit in CS at the 300 level or above
    MA 240

Graduation with Disciplinary Honors in Computer Science

Disciplinary honors in computer science provides an opportunity for those students seeking additional work, more research experience, and further preparation for computing as a profession. Disciplinary honors rewards those students who successfully go beyond the minimum requirements of the discipline.

To earn disciplinary honors, a student should apply for consideration preferably by the end of the sophomore year and no later than the end of the fall term of the junior year. Specific requirements are as follows:

    (1) complete the requirements of the computer science major or of the inter-disciplinary major in computer science and mathematics;

    (2) complete two computer science units at or above the 300 level -- these two units are in addition to the computer science requirements of the student's major;

    (3) complete MA232 and a choice of MA317, MA321, MA454;

    (4) attain a minimum 3.00 grade point average in courses taken at the College and a minimum 3.30 average for the courses within the discipline;

    (5) maintain a two-year national membership within the Association for Computer Machinery and the local student ACM; and

    (6) complete a senior thesis, the proposal for which must be submitted no later than October 15 of the senior year. The senior interim should be devoted to work on the thesis which must be supervised by a faculty member in computer science. This thesis must be successfully defended before a committee of at least two faculty members. Interdisciplinary committees are encouraged. The thesis must be completed no later than March 31 of the senior year.

Courses in Computer Science

(Thus section has been updated. Click here for details.)
CS 105 Understanding Computers (1)
A course for non-computer science majors in the use of the computer as a tool. This course is designed to give the student an appreciation for the role of computers in today's society and the use of some general software tools, such as spreadsheet and database, as are commonly used on personal computers. Not open to anyone having taken a college-level computer science course within the previous five years.
 
CS 170 Introduction to Computing (1)
An introduction to the field of computer science. Topics include computing concepts and terminology. A major part of this course is problem solving and algorithm development using a programming language such as Pascal, Ada, or C++. Fall, Spring.
 
CS 250 Advanced Programming (1)
A second programming course assuming a good understanding of fundamental programming processes. Emphasis is placed on good software engineering practices. Basic data structures are introduced. Prerequisite: CS 170. Fall, Spring.
 
CS 290 Data Structures (1)
A study of structures for storing and manipulating data. Students learn to create and use such data structures as stacks, lists, trees, and graphs. Prerequisite: CS 250. Fall, Spring.
 
CS 300 Systems Programming (1)
An introduction to assembly language programming with the goal of better understanding how computers operate. Prerequisite: CS 250. Fall 2001.
 
CS 310 Alternative Programming Languages (1)
A study of languages from several categories such as functional, imperative, logical, and specialized. The student writes intermediate-level programs in each language. Prerequisite: CS 250. Spring 2003.
 
CS 330 Systems Analysis (1)
The design of large-scale computer-based systems, with examples from major application areas. Prerequisite: CS 250. Fall 2002.
 
CS 360 Programming Languages (1)
A study of the manner in which the various categories of programming languages deal with the fundamentals of programming. Prerequisite: CS 290. Fall 2002.
 
CS 380 Introduction to Computer Organization (1)
Introduction to organization and structure of major hardware components of computers, the mechanics of information transfer and control within a digital computer system, and the fundamentals of logic design. Prerequisites: CS 250 and MA 240. Spring 2002.
 
CS 390 Automata, Computability, and Formal Languages (1)
A study of the theory of computer science. Topics include such areas as computability, computational complexity, and formal languages. Prerequisites: CS 290 and MA 240. Spring 2003.
 
CS 420 Database Management Systems (1)
A course in the design, function, and application of database systems. Prerequisite: CS 290. Fall 2001.
 
CS 430 Data Communications (1)
An introduction to such topics as communications hardware, protocols, networks, and communication software design. Prerequisite: CS 290. Fall 2002.
 
CS 440 Introduction to Computer Graphics (1)
An introduction to the terminology, standards, and basic algorithms in computer graphics. Topics include image transformations, projections from 3D to 2D, curve and surface modeling and three dimensional viewing. Prerequisites: CS 290, MA 240, and MA 231. Spring 2002.
 
CS 460 Operating Systems and Architecture (1)
An introduction to operating systems, system architecture, and their relationships. Prerequisite: CS 290. Spring 2003.
 
CS 465 Artificial Intelligence (1)
An introduction to topics such as cognitive modeling, automatic problem solving, natural language processing, and robotics. Prerequisite: CS 290. Spring 2002.
 
CS 480 Compilers (1)
A study of the theory and function of compilers for high-level languages. Prerequisite: CS 290.
 
CS 298, 398, 498 Teaching Experience in Computer Science (1)
 
CS 499 Senior Project in Computer Science (1)
An in-depth research project that brings to bear the student's accumulated knowledge and skills in computer science. This substantial endeavor may include some combination of the following: computer programs, papers, oral presentations, and community projects. Evaluation is based on successful completion of the objectives outlined by instructor and student at the beginning of the term. As part of the senior interim experience, all students are required to participate in an assessment process. This may include, but is not limited to, a standardized test, an exit interview, an oral examination, or some combination of the above. Prerequisite: Senior standing or consent.

[ Catalog Table of Contents ]
[ List of Courses Offered at Birmingham-Southern ]