UH Undergraduate Catalog Course Page Header & Nav Map Undergraduate Catalog Home This College's Catalog Section This College's Home Site UH Home Page Search UH Site

2001-2003


Courses: Computer Science (COSC)
College: Natural Sciences & Mathematics

1300: Introduction to Computing
Cr. 3. (2-3). May not be used to satisfy any computer science degree requirement. An introduction to computing with emphasis on the practical usage of personal computers; concepts of recorded programs, computer organization, operating systems, mainframes, minicomputers, and personal computer; selected applications of personal computers; word processing, databases, and spreadsheets; societal impact of computers.

1301: Fortran Programming
Cr. 3. (2-3). Prerequisite: MATH 1310 or equivalent. Students may apply only one of the following toward a degree: COSC 1301 or 2101. Introduction to Fortran, techniques for designing Fortran programs, programming in Fortran. No programming experience necessary.

1302: COBOL Programming
Cr. 3. (3-0). Prerequisite: MATH 1310 or equivalent. Computer organization and systems software, techniques for designing COBOL programs, programming in COBOL.

1303: PL/1 Programming
Cr. 3. (3-0). Prerequisite: MATH 1310 or equivalent. Computer organization and systems software, techniques for designing PL/1 programs, programming in PL/1.

1304: C Programming
Cr. 3. (3-0). Prerequisite: MATH 1310 or equivalent. Computer organization and systems software, techniques for designing C language programs, programming in C language.

1410: Introduction to Computer Science
Cr. 4. (3-3). Prerequisite: MATH 1431. Computer organizations, introduction to structured programming, the C programming language, and algorithm design.

2101: Fortran for Science Majors
Cr. 1. (1-0). Prerequisite: COSC 1410. Students may apply toward a degree only one of COSC 2101 or1301. Accelerated introduction to programming Fortran, techniques in Fortran program design, algorithm development.

2320: Data Structures
Cr. 3. (3-0). Prerequisite: COSC 1410. Introduction to various data structures (stacks, queues, lists, hash tables, trees, heaps, and graphs); analysis, comparison, and discussion of specifications, implementations, and applications; introduction to algorithms; sorting and searching.

2410: Computer Organization and Programming
Cr. 4. (3-3). Prerequisite: COSC 1410. Basic computer organization; machine cycle, digital representation of data and instructions, assembly language programming, assembler, loader, macros, subroutines, and program linkage.

3318: Object-Oriented Programming
Cr. 3. (3-0). Formerly COSC 4318. Prerequisite: COSC 2320. Object-oriented paradigm and its use, classes and methods; objects and messages, inheritance, encapsulation and information hiding, parameterized classes, polymorphism and instruction overloading, dynamic versus static binding; language support for objects and abstract data types, syntax and semantics of specific object-oriented programming language, other issues in object-oriented programming.

3330: Computer Architecture
Cr. 3. (3-0). Prerequisite: COSC 3410. Principles of operation of digital computers, analyzing their major component parts: the arithmetic, memory, control, and input/output units.

3340: Introduction to Automata and Computability
Cr. 3. (3-0). Prerequisites: MATH 3336 and COSC 2320. Introduction to automata theory (finite-state automata, push-down automata, Turing machines); formal systems (regular and context-free languages and grammars); computability, Church-Turing thesis.

3361: Numerical Methods I
Cr. 3. (3-0). Prerequisites: COSC 1301 or 1410, and MATH 3431. Solution of equations, polynomial approximations, initial value problems of ordinary differential equations.

3362: Numerical Methods II
Cr. 3. (3-0). Prerequisites: COSC 1301, 1410, or 2101, and MATH 2431. Numerical solutions of problems in linear algebra; systems of linear equations, matrix inversion, and eigenvalue problems.

3396-4396: Senior Research Project
Cr. 3 per semester. Prerequisite: approval of chair. Directed research project culminating in a departmentally approved report.

3399-4399: Senior Honors Thesis
Cr. 3 per semester. Prerequisite: approval of chair.

3410: Digital Logic Design
Cr. 4. (3-3). Prerequisite: COSC 2410. Introduction to digital logic design. Digital data representation systems. Binary logic and Boolean algebra. Analysis and synthesis of combinational and sequential circuits. Commonly used integrated circuits and digital components.

3480: Design of File and Database Systems (formerly 3380)
Cr. 4. (3-3). Prerequisites: MATH 3336, COSC 2320 and 2410. Credit for only one of COSC 4320, 3380, 3480 may be applied toward a degree. Techniques for file organizations on secondary storage, performance, design and management of large integrated databases, data models, and query languages. Oral and written reports required.

4111: Computer Scientists and the Society
Cr. 1. (1-0). Prerequisites: COSC 3480 and COSC 4310 or 4330; and successful completion of the university core curriculum. Introduction and discussion of issues of professional responsibility and ethics related to the use of computer technology in complex modern working environments. Emphasis on specific cases, on group discussion, and on oral presentations and written reports by students.

4198:4298: 4398:4498: Special Problems
Cr. 1-4 per semester, or more by concurrent enrollment. Prerequisite: approval of chair.

4310: Structure of Programming Languages and Compilers
Cr. 3. (3-0). Prerequisites: COSC 2320, 2410, and 3340. Introduction to compilation and topics in programming languages.

4315: Programming Languages and Paradigms
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3336. Discussion and comparison of basic programming styles and their underlying paradigms, such as imperative programming, functional programming, logic programming, and object-oriented programming. Study of languages based on these paradigms.

4319: Distributed Object Computing
Cr. 3. (3-0). Prerequisite: COSC 3318. Distributed object computing, interface based programming, interface definition language, mapping IDL, process-remote architecture, marshalling, application deployment, exceptions, security, dynamic invocation interface, current standards including DCOM and COBRA.

4330: Fundamentals of Operating Systems
Cr. 3. (3-0). Prerequisites: COSC 2320 and 3330. Purpose of an operating system; sequential processes, concurrent processes, deadlock, mutual exclusion, semaphores; memory management, processor management, peripheral device management.

4351: Fundamentals of Software Engineering
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3336. Introduction to the concepts of software engineering. Identification of problems related to the development of large software systems. Software project planning, requirements analysis, design, implementation, quality assurance and maintenance.

4360: Modeling and Computer Simulation
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3339. Mathematical models and digital computer simulation for predicting the behavior of complex systems.

4361: Window Systems in a Network Environment
Cr. 3. (3-0). Prerequisites: MATH 2433, knowledge of UNIX and C. Development of engineering, scientific or systems applications using vendor-independent and network-independent window systems; client-server model; event-driven programming, X-windows, X-protocol, Xlib, X-Toolkit, User Graphics Interfaces.

4368: Artificial Intelligence Programming
Cr. 3. (3-0). Prerequisite: COSC 2320. The programming language LISP with an emphasis on its use in writing typical artificial intelligence programs.

4370: Interactive Computer Graphics
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 2431, or consent of instructor. Introduction to graphics hardware and software; interactive systems to display three-dimensional objects; display and input devices; and alternative algorithms, system configuration, and design trade-offs. Term project required.

4377: Introduction to Computer Networks
Cr. 3. (3-0). Prerequisite: COSC 4330. Introduction to data communications; network protocols and architecture; local and wide-area networks; internetworking.

4380: Algorithm Analysis and Design
Cr. 3. (3-0). Prerequisite: COSC 2320. Techniques for algorithm analysis and design; introduction to NP completeness.

4390: Introduction to Internet Computing
Cr. 3. (3-0). Prerequisite: COSC 2320 or consent of instructor. Introduction to Internet, including client/server computing, www, http and cgi; Java programming including object-oriented computing, applets, abstract windowing toolkit, threads, event handling and network programming.

4397: Selected Topics in Computer Science
Cr. 3. (3-0). Prerequisites: advanced standing and consent of instructor. May be repeated for credit with approval of chair. Selected topics in major areas of computer science not covered in detail in any of the courses in the regular computer science program.