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

2005-2007
Fall 2006 Update

Any TCCN equivalents are indicated in square brackets [ ].

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.

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.

1305: C++ Programming
Cr. 3. (3-0). Prerequisite: COSC 1304. Object-oriented programming in the C++ programming language.

1306: Computer Literacy for Science Majors
Cr. 3. (3-0). Prerequisite: credit for or concurrent enrollment in MATH 1431. For students majoring in the sciences, engineering and other technical disciplines. May not be applied to major or minor in computer science.   Topics relevant to the use of computers by students in technical disciplines: concepts of computer architecture, operating systems, programming languages and compilers, cross-platform issues, electronic publication, digital media, internet basic and emerging technology literacy.

1320:
[COSC 1437]
Introduction to Computer Science II
Cr. 3. (3-0). Prerequisites: COSC 1410 and MATH 1431. Object-oriented programming, elementary data structures, and the C++ programming language.

1410:
[COSC 1436]
Introduction to Computer Science I
Cr. 4. (3-3). Prerequisites: MATH 1330 and credit for or concurrent enrollment in MATH 1431. Computer organization, introduction to structured programming, 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:
[COSC 2436]
Data Structures

Cr. 3. (3-0). Prerequisite: COSC 1320. Introduction to various data structures (stacks, queues, lists, hash tables, trees, heaps, and graphs); sorting and searching; design, analysis, and comparison of algorithms.

2410:
[COSC 2425]
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.

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 3331. 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 eigen-value 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 and COSC 2320. Credit for only one of COSC 4320, or 3380, or 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 1320. Distributed object computing, interface-based programming, interface definition language, process-remote architecture, marshalling, application deployment, exceptions, security, dynamic invocation interface, and current standards.

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.

4331: Real-Time Systems and Embedded Programming
Cr. 3. (3-0). Prerequisite: COSC 4330. Introduction to real-time and embedded systems; scheduling; programming language and operating systems; support; formal specification, analysis, and verification; embedded programming; power-aware computing.

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 modeling and 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.

4371: Web Security
Cr. 3. (3-0). Prerequisite: COSC 4330. Introduction to security and integrity of information including cryptographic techniques, authentication and water marking of multimedia content. Various aspects of web security involving attacks on data and software, including viruses, worms, and denial-of-service. Remote administration of computing resources; Security concerns inherent in wireless networks.

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.

4392: Multimedia Programming
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3338. Programming of pocket PCs, digital cameras, and serial devices.

4393: Introduction to Digital Image Processing
Cr. 3. (3-0). Prerequisites: Math 3338 and 3339. Essential concepts of digital image processing, image acquisition and processing, practical applications, and elementary image analysis algorithms.

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.

 


Last updated: Thursday, March 30, 2006 - 1:03 PM