BSU Catalog Home | Computer Science Program | All-University Courses and Descriptions


Computer Science (CS)

College-Program Codes: 7-07. Check with department for semester when these courses are offered. Read each course description for prerequisites.

1107 INTRODUCTION TO COMPUTERS (3 credits) An examination of the development of computing devices, modern computing practices, components of a computing system, common application software, and uses of computers in society. No previous experience with computers is assumed. Note: This course is not intended for Computer Science majors or minors. Liberal Education Category 9

1150 CAMPUS COMPUTING (2 credits) Introduction to and overview of the campus network, the information and resources accessible through the network, and use of these resources.

1158 INTRODUCTION TO THE INTERNET (2 credits) Introduction to the resources and tools of the Internet, with emphasis on the Internet as a world-wide information resource and on the effective use of that resource as an academic tool. Topics include search engines and searching strategies, privacy and security issues, and elementary Web authoring. Graded Satisfactory/Unsatisfactory only. Prerequisite or Corequisite: CS 1150.

1309 PROBLEM SOLVING, PROGRAMS, AND COMPUTERS (4 credits) An overview of computer science that includes basic computer organization and machine-level coding, Boolean logic, algorithms, high level languages, the history of computing, and social, ethical, and professional issues in computing. Includes a one-hour lab. Prerequisite: MATH 1470.

2120 PERSONAL COMPUTING SYSTEMS (3 credits) Covers operating systems, software tools, and essential application software for one or more single-user computing systems. Prerequisite: CS 1107 or equivalent. (Might not be offered every year)

2207 COMPUTER PROGRAMMING: BASIC (3 credits) Fundamental concepts of computer programming using a modern version of the BASIC language. Prerequisites: MATH 1170 and CS 1107 or equivalent.(Might not be offered every year)

2229 COMPUTER PROGRAMMING: C/C++ (3 credits) Fundamental concepts of computer programming using ANSI Standard C and a brief introduction to C++. Prerequisites: MATH 1170 and CS 1107 or equivalent. (Might not be offered every year)

2321 COMPUTER SCIENCE I (4 credits) An introduction to the basic principles of software engineering using a modern high level language, including menu-driven software, array searching and sorting, interactive debugging, and methods of software validation. Includes a two-hour lab. Prerequisite: CS 1309.

2322 COMPUTER SCIENCE II (4 credits) Topics include structured data types, recursion, files, linked lists, object-oriented programming, compilation units, and libraries. This course includes a group-oriented software design and implementation project. Includes a two-hour lab. Prerequisite: CS 2321.

2810 COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING (3 credits) An introduction to the register level architecture of a modern computer and programming with an assembly language for that processor. Includes a two-hour lab. Prerequisite or Corequisite: CS 2322.

3160 MICROCOMPUTER SYSTEMS (3 credits) A survey of current microcomputer systems including both software and hardware components of small computers, programming, and special features. Prerequisite: CS 2321. (Might not be offered every year)

3350 EVENT-DRIVEN PROGRAMMING IN A WINDOWS ENVIRONMENT (3 credits) Uses a language suitable for creating event-driven programs while focusing on methodology suitable for developing event handlers in windows-oriented programs. Prerequisite: CS 2322 or equivalent.

3360 OBJECT-ORIENTED SOFTWARE DEVELOPMENT (3 credits) Techniques used in object-oriented software development. Key components of these techniques include design patterns, abstraction, encapsulation, modularity, message passing, polymorphism, inheritance, and incremental software development. Students translate a design into software using an object-oriented programming language. Additional topics may include applets, markup languages, multi-threaded programming, and rudimentary network programming. Prerequisite: CS 2322 or equivalent. (Might not be offered every year)

3420 EDUCATIONAL APPLICATIONS OF COMPUTERS (3 credits) The role of the computer in educational applications; elementary and secondary school applications; business and industry oriented educational applications. Computer-assisted instruction, computer supplemented instruction, computer-managed instruction, and management information systems. Note: Open only to students in a teacher education program and others by consent of instructor. Prerequisite: CS 1107 or equivalent. (Might not be offered every year)

3507 FILE PROCESSING AND DATABASE SYSTEMS (3 credits) An examination and analysis of algorithms and file structures used by computer systems including sequential, direct (random) access, and keyed (indexed) files. Covers the creation, deletion, modification, and maintenance of files and their use in database systems. Prerequisite: CS 2322. (Might not be offered every year)

3528 DATA STRUCTURES AND ALGORITHMS (3 credits) Fundamentals of abstract information storage structures and algorithms related to their use, including stacks, queues, binary trees, generalized trees, hash tables, and graphs. Prerequisite: CS 2322.

3560 DATA COMMUNICATIONS AND NETWORKS (3 credits) Principles of data communications as applied to modern computer networks. Prerequisite: CS 2810. (Might not be offered every year)

3610 INTRODUCTION TO OPERATIONS RESEARCH (3 credits) A computer-oriented survey of linear programming, integer programming, dynamic programming, network analysis, queuing systems, inventory control, game theory, and discrete system simulation. Prerequisites: MATH 2172 or MATH 2472, and CS 2321. (Might not be offered every year)

3627 THEORY OF COMPUTATION (3 credits) Explores the theoretic roots and limits of computing. Prerequisites: CS 2322 and MATH 3210.

3718 COMPUTER GRAPHICS (3 credits) Fundamental concepts of computer graphics with emphasis on understanding underlying principles. Topics include line and curve drawing, windowing, clipping, shading, geometric transformations and 3-dimensional viewing. Prerequisites: MATH 2171 or MATH 2471, and CS 2322. (Might not be offered every year)

4280 PROGRAMMING LANGUAGE STRUCTURES (3 credits) Uses historical perspectives and several modern high level languages to examine principles and paradigms supported by programming languages. Prerequisite: CS 3528.

4298 COMPILER CONSTRUCTION (3 credits) The theory, design, and construction of a compiler. Prerequisite: CS 3528. (Might not be offered every year)

4361 SOFTWARE ENGINEERING I (3 credits) Software Engineering (SE) I and II provide students a capstone experience that integrates the theory and practice of SE. SE I investigates a variety of SE models and guidelines used in industry. In the first part of a year-long project, students complete the requirements and specifications phases and reviews of SE and begin the formal design phase. Includes a two-hour lab. Prerequisites: CS 2810 and CS 3528.

4362 SOFTWARE ENGINEERING II (3 credits) A continuation of the capstone experience begun in SE I. SE II continues the year-long project, including design and implementation, with structured walk-throughs of all phases, and module, integration, and system testing. Includes a two-hour lab. Prerequisite: CS 4361.

4390 SOCIAL, ETHICAL, AND PROFESSIONAL ISSUES IN COMPUTING (2 credits) Features topics related to standards for computing professionals. Prerequisite or Corequisite: At least one CS course numbered 3000 or higher. (Might not be offered every year)

4840 OPERATING SYSTEMS (3 credits) Fundamentals of operating system design with emphasis on at least one modern operating system. Topics include scheduling, memory management, paging, file management, and mutual exclusion. Required work will include programming investigations. Prerequisites: CS 2810 and CS 3528.

Computer Science Program | All-University Courses and Descriptions
BSU Catalog Home | BSU Home
Catalog Editor: