UNIVERSITY OF WISCONSIN OSHKOSH

Course Offerings - COMPUTER SCIENCE


34-101 Computers in Society 2 cr.

An introduction to the field of information and computer science. The evolution of computing and its implications for society are studied. This is not a computer programming course and it does not apply to the Computer Science major or minor.
34-115 Using Computers 3 cr.
This course introduces students to computers and their use. The course emphasizes productivity tools such as word processing, spread sheet and internet application packages. Emphasis will be placed on methodologies and acquire, organize, analyze, synthesize, and present data. This course does not apply toward the Computer Science major or minor. Students may not earn credit for both 34-115 and 28-210.
34-141 Elementary Programming in FORTRAN 3 cr.
A service course in computer programming using the language FORTRAN. Topics covered include problem solving, algorithms, selection statements, repetition, arrays, functions and sub-programs. This course does not apply to the minor. Prerequisites: 67-103 with C or better, or qualifying for either 67-108 or 67-171 via Math Placement test.
34-142 Elementary Programming in Visual BASIC 3 cr. (Spring)
A service course in computer programming using the language Visual BASIC. Topics covered include problem solving, algorithms selection statements, repetition, arrays, functions and sub-programs. This course does not apply to the minor. Prerequisites: 67-103 with C or better, or qualifying for either 67-108 or 67-171 via Math Placement Test.
34-221 Introduction to Programming in C++ 3 cr. (Fall, Spring)

This course is an introduction to problem solving and computer programming using the C++ Language. The following topics will be covered: using a computer system, algorithms, data types, assignment statements, input/output statements, selection, repetition, functions, value and reference parameters, scope of identifiers, arrays, character strings and text files. Prerequisites: 67-103 with a grade of "C" or better or qualifying for either 67-108 or 67-171 via math placement test.
34-243 Elementary Programming in COBOL 3 cr. (Fall)
A service course in computer programming using the language COBOL. Topics covered include problem solving, algorithms, selection statements, repetition, tables, internal sub-programs, and an introduction to sequential fields. This course does not apply to the minor. Prerequisites: Completion of 34-142 or 34-221 or 34-262 or equivalent with a grade of "C" or better; AND completion of 67-103 or equivalent with a grade of "C" or better (or qualifying for a higher level mathematics course via the Mathematics Placement Exam).

34-251 Machine Coding and Assemblers 3 cr. (Fall, Spring)
An introduction to machine language instructions, addressing techniques, registers, and internal representation of data. Topics to be intensively studied include: symbolic assembler programming, input-output routines, macro definition and usage, and program linkage. Prerequisite: 34-141 or 34-221 with a grade of "C" better, or equivalent. Note: 34-262 is highly recommended for those students who have taken 34-221.
34-260 Advanced COBOL for Business 3 cr.
Advanced aspects of the COBOL programming language are studied in the context of business applications. Topics covered include structured design, program testing, tables, IBM Job Control Language (JCL), sorting, subprograms, sequential files, relative files, indexed-sequential files, file processing, program maintenance and database access via SQL. Prerequisite: 34-243 with a grade of "C" or better.
34-262 Object Oriented Programming in C++ 4 cr. (Fall, Spring)
This is a course in problem solving and object oriented programming in the C++ language. Topics covered include: pointers, indirection, recursion, binary search, stream I/O, dynamic memory allocation, abstract data types, classes and objects, templates, inheritance, and operator overloading. Prerequisites: Completion of 67-108 (or equivalent) with a grade of "C" or better (or qualifying for a higher level mathematics course via the Mathematics Placement Exam); completion of 34-221 or equivalent with a grade of "C" or better.

34-271 Data Structures 4 cr (Fall, Spring)

This course is a survey of the fundamental methods of representing data in main memory and of the algorithms which store and retrieve data. Topics covered include dynamic memory allocation, stacks, recursion, queues, linked lists, trees, binary trees, hash tables, searching, sorting, graphs and elementary concepts of algorithmic analysis. Prerequisite: 34-262 with a grade of "C" or better.
34-300 Artificial Intelligence and Heuristic Programming 3 cr.
This course is a survey of existing techniques in the field of artificial intelligence. An introduction to the areas of robotics, theorem proving, heuristic programming, natural language processing and game playing is presented. Students are expected to demonstrate mastery via computer programs using the techniques of artificial intelligence. Prerequisite: 34-331 with a grade of "C" or better.
34-310 Computer Architecture 3 cr. (Fall)
An introduction to digital logic and computer hardware organization. The students are introduced to elementary Boolean algebra and switching theory as related to computer architecture. Emphasis is given to the design of Central Processing Units, Arithmetic and Logic Units, and main memories. A comparison of alternate computer organizations is presented. Prerequisite: 34-251, 67-122, and 82-311, all with grade of "C" or better.
34-321 File Structures 3 cr. (Fall)
This course is a continuation of the data structures course. It is a study of the representation of data and the algorithms for storing and retrieving data on secondary memory devices. The following topics are covered: magnetic tape and magnetic disk, binary and text file representations, sequential files, blocking, buffering, relative files, static and dynamic hash files, indexed files via B trees, indexed-sequential files via B+ trees, inverted files, file control specifications, external sorting algorithms, spooling and file systems. Prerequisite: Completion of both 34-271 and 34-251 with a grade of "C" or better.
34-331 Programming Languages 3 cr. (Spring)
A study of programming languages. Topics covered include: formal syntactic description, methods of implementation, and language features such as recursion, block structure, string processing, and list processing. Specific high level programming languages are studied to demonstrate the use of these language features. Prerequisite: 34-251 and 34-271, both with a grade of "C" or better.
34-341 Software Systems Design 3 cr. (Fall)
This course will provide an in-depth study and analysis of at least one large scale software system. Students will analyze, design, and implement an extensive software project. Case studies will address major system concerns such as specification, classification, inter-relationships, validation, and evaluation. Other topics: modularity of design; data specification, entry, and updating; and report design are covered. Prerequisite: 34-251and 34-271 both with a grade of "C" or better.
34-351 Simulation 3 cr.
An introduction to discrete system simulation. Topics covered include queuing models, generation of random variates from non-uniform distributions, data structures for simulation systems, special purpose simulation languages (GPSS and SIMSCRIPT), random number generators and statistical analysis of output. Prerequisites: 34-271 with a grade of "C" or better; either 67-301 or 67-201 (or equivalent) with a grade of "C" or better.
34-361 Database Systems 3 cr. (Spring)
An introduction to database processing with emphasis on database techniques, design, and modeling. Programming projects include implementation of selected database processing methods and the use of database software. Prerequisite: 34-271 with a grade of "C" or better.
34-371/571 Computer Graphics 3 cr.
An introduction to the mathematics, data structures, and algorithms used to create both 2D and 3D graphical output. 2D topics include viewing transformation, clipping, scan conversion, geometric transformations, hierarchical modeling and animation. 3D topics include projections, viewing systems, back face culling, polygon clipping, wireframe images, visible surface algorithms, Phong reflection model, Gouraud and Phong shading techniques, color dithering, color quantization. Ray tracing and Bezier patches. Prerequisites: 34-271 with a grade of "C" or better and 67-171 with a grade of "C" or better.
34-381 Introduction to the Theory of Computing 3 cr.

An introduction to the basic concepts in the theory of computing. Topics covered will include automata theory, formal languages, Turing machines, the Chomsky Hierarchy, and undecidability. Prerequisites: 34-271 with a grade of "C"or better; and either 67-122 or 67-222, with a grade of "C" or better.
34-391/591 Data Communication and Computer Networks 3 cr.
An introductory course which covers the basic concepts in data communication and computer networks. Topics covered will include the nature of data communication, characteristics of computer networks, the ISO-OSI network protocol layers, error detection and correction codes, and network performance considerations. Prerequisites: 34-251 and 34-271, both with a grade of "C" or better.
34-399 Internship in Computer Science 3-6 cr.
An internship experience with a cooperating organization or corporation to provide on-the-job learning. Internships may be arranged at any time. Prerequisite: The Internship Director will establish, for each internship, the specific course and minimum gradepoint requirements.
34-421 Operating Systems 4 cr. (Spring)
An introduction to operating systems concepts. Topics covered include: interrupts, memory allocation, virtual memory techniques, process scheduling and synchronization, deadlocks, resource allocation, and file systems. A major programming project will be assigned to provide experience with operating system design. Prerequisites: 34-321, 34-310, and 67-122, all with a grade of "C" or better.
34-431 Compiler Writing Techniques 4 cr. (Fall)
An introduction to compiler writing techniques for translating a higher level programming source language into a lower level target language. Topics to be covered include: definition of programming languages, lexical and syntactic analysis, low level code generation and optimization, run time systems, and error detection, reporting, and recovery. A major programming project will be assigned to provide experience with compiler design. Prerequisites: 34-251 and 34-331 both with a grade of "C" or better.
34-446 Independent Study 1-3 cr.
See Independent Study under Course and Academic Advisement information for general course description, and general prerequisites, and proper contract from requirements.
34-474 Honors: Thesis 1-6 cr.
Prerequisites: University scholar status and junior standing. Honors thesis projects include any advanced independent endeavor in the student's major field of study e.g., a written thesis, scientific experiment or research project, or creative arts exhibit or production. Proposals (attached to Independent Study contract) must show clear promise of honors level work and be approved by a faculty sponsor. Course title for transcript will be "Honors Thesis." Completed projects will be announced and presented to interested students and faculty, Maximum of 6 credits.
34-480/680 Special Topics in Advanced Computer Science 3 cr.
A topic of current interest in computer science will be investigated by faculty and qualified students. In addition to lectures by faculty, the students will be responsible for research and presentation of selected aspects of the topic. The course may be repeated for credit if the topic is different and the student has the consent of department. Graduate students will be required to do an extra programming project or paper. Prerequisites: junior standing, the completion of six credits of 300/400 level computer science courses including prerequisites for the topic, and a cumulative gradepoint average of 3.0.
34-490 Practicum in Computer Science 3 cr.
A project oriented course that brings together the material learned in previous computer science courses. The student will investigate and solve a problem(s) under the supervision of a faculty member. Prerequisites: Completion of 34-251, 34-271 and two computer science courses at the 300/400 level grades of "C" or better, senior standing and consent of the department.
Questions, Comments...
  Please Email registrar@uwosh.edu

Last Updated July 1, 1999