COMPUTER SCIENCE COURSES (CS) 
150 Microcomputers and Software Applications I (3) F, S, SU.
Introduction to microcomputer hardware and software. Topics include computer 
  fundamentals, word processing, electronic spreadsheets, data bases, and other 
  microcomputer application areas. Solutions for several problems using microcomputers 
  and commercial software will be required.
160 Microcomputers and Software Applications II (3) (Prerequisite: 150 
  or permission of the program) F, S, SU. A continuation of 150; students will 
  study additional concepts of microcomputers and microcomputer applications software 
  including word processing, spreadsheets, databases, and presentation software, 
  emphasizing more advanced applications and integration of the packages in dealing 
  with typical professional usage.
175 Introduction to Network Use (3) F, S, SU. Introduction to the use 
  of networks. Topics include an overview of network types and terminology: file 
  transfer; use of on-line services, bulletin boards; LANs and the Internet; e-mail; 
  information resources; remote access to host computers; connection via telephone 
  lines; social and ethical issues of networks; and a survey of trends in network 
  development.
190 Programming Fundamentals (3) F, S, SU. Introduction to problem-solving 
  and algorithm development techniques based on the program development process. 
  Study of basic computer concepts and computer systems; elementary data types 
  and date structures; input and output processing; control structures; modular 
  program design; elementary file processing; algorithm design and evaluation. 
  Students will apply these ideas by analyzing specifications, designing solutions, 
  and implementing programs based on this analysis and design.
212 Introduction to FORTRAN (3) (Prerequisite: Eligibility to take Math 
  111 [or higher] or permission of the program) (Same as Math212) F, S, SU. A 
  study of programming to include input and output procedures, arithmetic and 
  logical operations, DO loops, branching procedures, arrays, declaration statements, 
  and subroutines. Application of these ideas by writing, running, and correcting 
  programs.
225 Modern Programming (3) (Prerequisite: A grade of C or better in 
  CS 190 or permission of the program) F, S, SU. A continuing study of the concepts 
  presented in CS 190. Topics include problem solving, algorithm and program development, 
  data types and operations, objects and classes, arrays, and event-driven programming.
226 Programming and Algorithmic Design I (3) (Prerequisite: C or better 
  in 190 or permission of the program) F, S, SU. Introduction to problem-solving 
  with algorithm and program development. Includes: problem analysis, algorithm 
  representation and verification, scalar and structured data types, file input 
  and output, techniques for program design, coding, testing, and documentation 
  and basic sorting, and searching algorithms.
227 Programming and Algorithmic Design II (3) (Prerequisite: C or better 
  in 226) F, S, SU. Continuing study of algorithmic design, implementation, and 
  analysis including object oriented design and implementation, abstract data 
  types, stacks, queues, and linked structures.
280 Digital Systems Design (3) (Prerequisites: A grade of C or better 
  in 212, or 227, and a grade of C or better in Math 230) F. Starting from a description 
  of digital circuits regarding as functional blocks, the course leads to a consideration 
  of the logical design of combinational and sequential digital systems. Topics 
  include binary representation of information, gate types, combinational circuit 
  design, counters, registers, arithmetic circuits, sequential circuit design, 
  and programmed logic. Students will gain practical experience by applying lecture 
  material in a hands-on laboratory setting.
310 Computer Architecture and Organization (3) (Prerequisite: A grade 
  of C or better in 280) S. A study of hardware organization, memory addressing 
  and structure, CPU-memory I/O relationships, organization of computer processors, 
  memories, and interconnections. Students will look at processor control, data 
  units, memory structure, microprogramming, the role of assembly language, timing, 
  I/O design, current architectures, and alternate hardware designs. Must have 
  a 2.25 GPA or higher in all courses which are required in the computer science 
  major or minor.
313 Systems Design and Development (3) (Prerequisite: A grade of C or 
  better in CS 226. Pre/corequisite: CS 227 ) F, S, SU. Development of computerized 
  systems focusing on structured systems analysis and its application to information 
  system software development. Emphasis will be on problem analysis, correctness, 
  reliability, and maintainability. Must have a 2.25 GPA or higher in all courses 
  which are required in the computer science major and minor.
318 Data Structures and Algorithm Analysis (3) (Prerequisite: A grade 
  of C or better in 313) F, S. An overview of the structure and implementation 
  of data structures, including lists, trees, heaps, and tables, and an examination 
  of searching, sorting and other algorithms, including implementation and analysis 
  of their efficiency. Must have a 2.25 GPA or higher in all courses which are 
  required in the computer science major or minor.
330 Special Topics in Computer Science (3) (Prerequisite: Permission 
  of the program) As Needed. In-depth study of an area of interest in computer 
  science. Different areas of study will be offered. Must have a 2.25 GPA or higher 
  in all courses which are required in the computer science major or minor. Must 
  have a 2.25 GPA or higher in all courses which are required in the computer 
  science major or minor. May be taken twice for academic credit with departmental 
  approval.
340 Software Design and Development (3) (Prerequisite: A grade of C 
  or better in 318 or permission of the program) S. Design techniques used in 
  creating large program packages, organization and management of projects, and 
  application of techniques in team projects. Must have a 2.25 GPA or higher in 
  all courses which are required in the computer science major or minor.
350 Theory of Computation (3) (Prerequisite: A grade of C or better 
  in 318 and Math 230) F. Introduction to the abstract concepts encountered in 
  machine computation. Topics include finite automata, regular expressions, and 
  formal languages, with emphasis on regular and context-free grammars. Questions 
  related to decidability and undecidability are looked at by considering various 
  models of computation including Turing machines, recursive functions, and universal 
  machines. Must have a 2.25 GPA or higher in all courses which are required in 
  the computer science major or minor.
360 Introduction to Computer Graphics (3) (Prerequisite: A grade of 
  C or better in 318; Math 304 is strongly recommended) F. Principal topics include 
  graphics devices, vector vs. raster graphics, lines and curves, animation, linear 
  transformations, three-dimensional graphics and wire-frame models, and viewing 
  objects with the synthetic camera. Must have a 2.25 GPA or higher in all courses 
  which are required in the computer science major or minor.
401 Programming Languages (3) (Prerequisite or Corequisite: 350) S. 
  Formal language concepts, language syntax and semantics, language design and 
  implementation, data types, data abstraction, control structures, procedure 
  mechanisms, lexical analysis, parsing, and run-time organization as exemplified 
  by a variety of programming languages and paradigms. Must have a 2.25 GPA or 
  higher in all courses which are required in the computer science major or minor.
410 Operating Systems (3) (Prerequisite: A grade of C or better in 310 
  and 318) F. Sequential processes and concurrent program concepts and their application 
  to operating system design; synchronization constructs: monitors, conditional 
  critical regions, and the use of semaphores; resource concepts, resource allocation 
  and management; dynamic protection and the structure of operating systems. Must 
  have a 2.25 GPA or higher in all courses which are required in the computer 
  science major or minor.
420 Compiler Construction (3) (Prerequisite: A grade of C or better 
  in 318 and 350; prerequisite or Corequisite: 401) AF. Syntax and semantic analysis 
  of source and target language; language translation and translators; a one-pass 
  compiler model; phases of a compiler; lexical and syntax analysis; parsing; 
  error recovery; intermediate code generation; code optimization; final code 
  generation. Must have a 2.25 GPA or higher in all courses which are required 
  in the computer science major or minor.
425 Numerical Analysis (3) (Prerequisite: Mathematics 203 and a grade 
  of C or better in one of 212 or 227) (Same as Math 425) F. Techniques and types 
  of errors involved in computer applications to mathematical problems. Topics 
  include techniques for solving equations, systems of equations, and problems 
  in integral calculus. Computer solutions for several problems will be required. 
  Must have a 2.25 GPA or higher in all courses which are required in the computer 
  science major or minor.
430 Data Base Management Systems Design (3) (Prerequisite: A grade of 
  C or better in 313 or permission of the program) AS. Close study of the goals 
  of DBMS, various data models and their implementations, normalization, file 
  organization, security, and integrity. Must have a 2.25 GPA or higher in all 
  courses which are required in the computer science major or minor.
437 Artificial Intelligence (3) (Prerequisite: A grade of C or better 
  in 318 and Math 230; 350 is recommended.) AS. An introduction to the fundamental 
  principles of artificial intelligence: problem-solving methods, state-space 
  representation, heuristic search, problem-reduction techniques, machine inference, 
  game-playing, knowledge representation, and cognitive processes. Applications 
  of these concepts to practical problems in society will be considered, looking 
  at such areas as neural networks, expert systems, robotics, natural language 
  processing, and computer vision. Must have a 2.25 GPA or higher in all courses 
  which are required in the computer science major or minor.
440 Computer Networks (3) (Prerequisite: A grade of C or better in 310 
  and 318) AF. A consideration of the technology and architecture of computer 
  networks, emphasizing principles and concepts of both logical and physical connectivity 
  and communication. Particular attention will be placed on network topology, 
  transmission media, medium access, standards, internetworking, and network management 
  and security.
480 Senior Seminar (2) (Prerequisite: Senior Status or permission of 
  the program) F, S. Students will be expected to plan, carry out, and present 
  the results of research projects. Faculty and off-campus speakers will be invited 
  to make presentations on current trends in the computer industry including social 
  and ethical issues as well as technical topics. Students will participate in 
  various forms of assessment of their academic preparation. Must have a 2.25 
  GPA or higher in all courses which are required in the computer science major 
  or minor.
497 Special Studies (3), (2), or (1) (Prerequisite: Permission of the 
  program) As Needed. Open only to juniors or seniors with a GPA of 3.0 or higher 
  in their major courses. A maximum of 3 semester hours may be earned. Academic 
  Committee approval required for each seminar and practicum. All individual research 
  projects are reviewed by three faculty members from two different disciplines. 
  Must have a 2.25 GPA or higher in all courses which are required in the computer 
  science major or minor.
 Back to top