Computer Science (COMP SC)

200 Introduction to Computer Science and BASIC (3) An introduction to terms and concepts of computer systems and applications including hands-on use of software application packages. BASIC language including topics up to the introduction of file handling. Credit may not be received for both Comp Sc 200 and Comp Sc 201. Credit does not apply to computer science major or minor requirements.

201 Introduction to Computer Applications (3) Concepts of computer systems and procedures including software applications, input and output, data storage, communications and networks, internet and world wide web, and operating systems and system software. Emphasis on using integrated software tools on the microcomputer which include word processing, spreadsheet, database, presentation graphics, communications, web browsers, electronic mail, personal information management, and multimedia authoring. Credit may not be received for both Comp Sc 200 and Comp Sc 201. Credit does not apply to computer science major or minor requirements.

221 Programming Concepts and Problem Solving I (3) Computer history, problem solving algorithms, control structures, representation of data. Introductory programming in the C++ language. For computer science majors. Non-computer science majors may be admitted with departmental approval. Prereq: Math 140 or equivalent.

222 Programming Concepts and Problem Solving II (3) A programming intensive continuation of Comp Sc 221 For computer science majors. Non-computer science majors may be admitted with departmental approval. May be used as one of the programming language requirements for a minor in computer science. Prereq: Grade of C or better in Comp Sc 221.

226 Intermediate Programming in a Second Language (3) Detailed study of programming in a language other than that studied in Comp Sc 221. Emphasis placed on competent programming in the selected language, understanding the language’s main application areas, history, basis for creation, advantages and disadvantages. Prereq: Comp Sc 221 or consent of Department Chair.

230 FORTRAN Programming (3) Concepts of the FORTRAN language including file handling techniques. Prereq: Math 160 or Math 251. (Same as Math 230)

231 Computer Programming for Engineers (3) Design and implementation of computer programs for engineering problem solving, algorithm development, basic statistical and numerical methods. Intensive programming in the “C” language. Introduction to program constructs in structured BASIC, FORTRAN, and C++. Coreq: Math 251.

250 COBOL Programming (3) Introduction to Common Business Oriented Language using structured methodology. Problem solving directed toward business applications. Prereq: Comp Sc 200 or Comp Sc 201 or Comp Sc 221 or departmental approval.

260 RPG Programming (2) Report Program Generator with applications and programs oriented to commercial fields. Prereq: Comp Sc 200 or Comp Sc 201 or Comp Sc 221 or departmental approval.

290 Special Topics in Computer Science (1-3) Lectures and/or laboratory work relating to specialized topics in computer science. Course may be repeated with total credits not to exceed six (6) hours. May be offered on a pass/fail basis. Prereq: Instructor’s approval.

301 Discrete Systems (3) Logic, sets, relations, functions, Boolean algebra, logic gates, matrices, axioms and proof techniques, induction, graph theory, trees and automata. Prereq: Math 140 or equivalent. (Credit may not be received for both Math 241 and Comp Sc 301.)

320 Assembler Language and Computer System Organization (3) Structure of digital computers, introduction to machine language, number representations, symbolic coding and assembler language, register sets, instruction types, addressing modes, input-output subroutines, segmentation, paging, and introduction to operating systems.. Prereq: Comp Sc 222 or Comp Sc 231 or Comp Sc 250.

325 Data Structures (3) Detailed study of data structures and their implementations. Strings, lists, queues, stacks, graphs, trees, B-trees, AVL trees, sparse arrays. File structures, recursion, sorting, searching, hashing. Prereq: Comp Sc 222.

335 Object Oriented Programming (3) Advanced programming using the language C++, data types, pointers, structures, unions, prefix, infix and postfix operators, flow of control, passing parameters, static and automatic variables, recursion, external declarations, and separate compilation, functional programming, the C pre-processor and macros. Creation of software tools and utilities, development of user applications. Prereq: Comp Sc 222 with a grade of C or better.

340 (540) Numerical Analysis (3) Formulation of numerical problems for solution on a digital computer. Error analysis and control, nonlinear equations, differentiation, integration, systems of equations, differential equations, curve fitting and eigenvalue problems. Prereq: Math 252, Math 310 or Comp Sc 301, and FORTRAN or Pascal or "C". (Same as Math 340/540)

350 Advanced COB0L (3) Business programming applications using advanced features of COBOL with emphasis on programming style, techniques. and structured programming. Prereq: Comp Sc 250.

351 Object Oriented System Analysis and Design (3) Study of the systems development life cycle system, various types of systems including business and government. Methods of designing systems, data management, input and output design, hardware selection and methods of information processing. Prereq: Comp Sc 222 or 226 or 250.

352 Object Oriented Systems Development (3) Practical applications involving an in-depth study of technical issues and design methodologies used in the design of decision support systems. Prereq: Comp Sc 351.

360 Introduction to Computer Networks (3) Fundamentals of Microcomputer connectivity and communications. Local and wide area network basics, networking architecture and standards. Network protocols including TCP/IP. Comparison, installation, and maintenance of Network Operating System.Prereq: Comp Sc 200 or 201 or 221 or 250.

380 Artificial Intelligence (3) Introduction to artificial intelligence, pattern recognition and classification, fuzzy set logic, natural language user interfaces, learning machines and adaptive systems, object oriented programming inference and rule based systems, arity, expert systems, associative systems, forward and backward chaining backtracking depth first and breadth first searching. Programming in languages appropriate to A.l. Prereq: Comp Sc 222 and 325.

385 Parallel Computing (3) Introduction to Fundamentals of Parallelism, Parallel computation models which include parallel algorithms and parallel architectures, performance and scalability of parallel systems, parallel algorithms and programming for well known numerical problems. Prereq: Comp Sc 222 or Comp Sc 226.

410 (610) Data Base Management Systems (3) Fundamentals of data base processing. Network, hierarchical, and relational data bases. Comparison of data base systems. Data base implementation. Prereq: Comp Sc 222 or Comp Sc 250.

420 (620) Computer Organization and Architecture (3) A study of the organization of modern computer systems, memory organization and management features, virtual memory systems interrupt service, multiprogramming, hardware and software equiva-lency, RISC and large instruction set machines, logic emulation, variable architectures, multilevel machines, stack and pipeline architectures.

Concurrency in computation. The organization of microcomputers, medium and large computer systems. Special architectures. Prereq: Comp Sc 320 and Comp Sc 325.

445 (645) Computer Graphics (3) Frame buffers, display files, graphics primitives, transformations of two-dimensional spaces, windows, viewports, clipping, covering, transformations of three-dimensional space, parallel and perspective projections, stereoscopic views, hidden line algorithms. Prereq: Comp Sc 301 and Comp Sc 222 or Comp Sc 230.

458 Decision Support and Expert Systems (3) Introduction to principles of DSS and Expert Systems. Examine different expert systems and expert shells. Development of knowledge bases and expansion of expert shells. Prereq: A programming language and Comp Sc 301, or instructor’s approval.

470 (670) Organization of Programming Languages (3) Syntax and basic characteristics of grammars, Backus-Naur form, language constructs, dynamic and static storage allocation, binding time, interpreted versus compiled languages, lexical analysis, parsing, special purpose languages. Prereq: Comp Sc 222 and Comp Sc 320.

475 Compilers, Interpreters, and Language Translators (3) Theory of compilable languages, construction of software for compiling, interpreting, and translating computer languages. Study of various types of translators, implementation of a translator for a language. Prereq: Comp Sc 222, 320, and 325.

485 (685) Computer Operating Systems (3) A study of operating systems, processing of l/O and interrupt service, buffering, spooling and memory management services, security and error protection, systems accounting and resource allocation, multiprogramming and multi-processing, inter-process communication, includes the study and use of several operating systems. Prereq: Comp Sc 320 and Comp Sc 325.

490 (690) Special Problems (1-3) Individual projects for students exhibiting special interests and abilities in selected areas. Maximum of three hours applicable to minor requirements. Course may be repeated with total credits not to exceed six hours. Prereq: Departmental approval.

495 Senior Seminar (1) Selected Topics: [Title]. Computer science and information systems, hardware, software. Professional opportunities and issues, employment trends. Students are required to write summary reports and give oral presentations. Graded on a pass/fail basis. Prereq: Senior standing computer science majors.