COMPUTER SCIENCE (COMP SC-210)

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 requirements.

201 Introduction to Computer Applications (3) Concepts of computer systems and procedures. Emphasis on microcomputer use including MS-DOS, Graphical User Interface, LAN, spreadsheets, presentation graphics, database, expert systems, teleprocessing, and statistics packages. Credit may not be received for both Comp Sc 200 and Comp Sc 201. Credit does not apply to computer science major requirements.

221 Programming Concepts and Problem Solving I (3) Computer history, problem solving algorithms, control structures, representation of data. Introductory programming in the Pascal 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.

225 Programming in "C"(3) Advanced programming in the language "C". Data types, pointers, structures, unions, infix and prefix operators, flow of control, passing parameters, static and automatic variables, recursion, external declaration and separate compilation, functional programming, the C pre-processor and macros. Programming will involve the creation of software tools and utilities, the development of applications packages. Prereq: Comp Sc 221 with a grade of C or better.

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 (3) Program control, input-output, addressing techniques, interfacing assembler routines with higher level language programs, linkage editor and program modules. Macros, conditional assembly, and nested macros. External CSECTS and OS protocols. Floating point and logical operations. Prereq: Comp Sc 222 or Comp Sc 230 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 225 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 System Analysis (3) Study of the life cycle of a system, varioustypes 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 250.

352 System Design (3) Practical applications involving an in-depth study of technical issues and design methodologies used in the design of decision support systems.

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.

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.

450 (650) Management and Computer System (3) Principles of information, decisions, models, systems, computer systems, planning, controlling. Interaction between an information system and management. Prereq: Comp Sc 200 or Comp Sc 201 or Comp Sc 222 or Comp Sc 230 or Comp Sc 250.

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.

480 Systems Programming (3) Study of the various system components; assemblers, macro processors, loaders, device drivers. Systems programs will be designed and implemented Prereq: Comp Sc 320, 325, and 222 or 350.

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.


webmaster@utm.edu