![]() |
![]() |
|||||||||||
|
Computer Science (COSC) USP Codes are listed in brackets by the 1991 USP code followed by the 2003 USP code (i.e. [M2<>QB]). 1010. Introduction to Computer Science I. 4. [M2<>(none)]
Introduces the fundamental concepts of programming from an object-oriented
perspective. Topics include simple data types, control structures, array and
string data structures, algorithm development, and debugging techniques.
Emphasizes good software engineering principles and developing fundamental
programming skills in the context of a language that supports the
object-oriented paradigm. Prerequisite: grade of
C or better in MATH 1400 or Level 4 or higher on the Math Placement Exam within one year prior to the start of the course. 1030. Computer Science I. 4. [M3<>(none)]
Continues the introduction from COSC 1010 to the methodology of programming from
an object-oriented perspective. Through the study of object design, introduces
the basics of human-computer interfaces, graphics, and the social implications
of computing, with an emphasis on software engineering. Prerequisite: COSC 1010 or equivalent experience
and concurrent registration in MATH 2200. 1100. Computer Science Principles and Practice. 3. [M3<>(none)] Introduces use of computers for algorithmic problem solving. Studies
scope, major contributions, tools and current status of computer science.
Presentation of computer science principles; use of software packages and
evaluation of their effectiveness; and elementary programming. Prerequisite:
C or better in MATH 1400 or in any University Studies M2<>QB or Level 4 or higher on Mathematics Placement Exam. (Offered based on sufficient demand and resources) 1200. Computer Information Systems. 3. Introduces computers and information processing, computer systems and hardware, computer software, information processing systems, information systems and information resource management. Uses word processing, data base language and electronic spreadsheet program in hands-on exercises. Prerequisite: passing of Mathematics Placement Examination at Level 2 or equivalent.
2000. Undergraduate Topics: Computer Science. 1-3 (Max. 6). Elementary topics current in computer science. Prerequisite:
consent of instructor. (Offered based on sufficient demand and resources)
2030. Computer Science II. 4. Builds on the
introduction to object-oriented programming begun in COSC 1010 and 1030 with an
emphasis on algorithms, data structures, and software engineering. Prerequisite: COSC 1030.
2150. Computer Organization. 3. Introduces
students to the organization and architecture of computer systems, beginning
with the standard von Neumann model and then moving forward to more recent
architectural concepts. Prerequisite: COSC 1030 or 3070. 2300. Discrete Structures. 3. Introduces the
mathematical concepts that serve as foundations of computer science: logic, set
theory, relations and functions, graphs (directed and undirected), inductively
defined structures (lists and trees), and applications of mathematical
induction. Provides an introduction to abstract and rigorous thinking in
advanced mathematics and computer science. Cross listed with
MATH 2300. Prerequisite:
COSC 1030,
MATH 2200 or
2350.
2409. _____ Programming. 1-3 (Max. 6). Describes various computer languages focusing on their differences from prerequisite languages and uses of these new features. Prerequisite: consent of instructor. (Offered based on sufficient demand and resources) 3011. Introduction to Software Design. 3. Introduces the principles and practice of software design, including UML and design patterns. Uses case studies to illustrate design in action. Prerequisites: COSC2030. 3015. Functional Programming. 3. Studies programming in the context of a functional language that emphasizes algorithmic strategies over syntactic detail. Prerequisite: COSC 2030. 3020. Algorithms and Data Structures. 4.
Introduces formal techniques to support the design and analysis of algorithms,
focusing on both the underlying mathematical theory and practical considerations
of efficiency. Topics include asymptotic complexity bounds, techniques of
analysis, algorithmic strategies, and an introduction to automata theory and its
application to language translation. Prerequisites:
COSC 2030,
COSC 2150 and
2300.
3050. Ethics for the Computer Professional. 1.
The proliferation of computers has had a profound effect on our society.
Computing professionals must be aware of the social and ethical implications
of our activities. Examines the codes of behavior related to computer science
through readings, discussions and case studies. Prerequisites: computer
science or MIS majors only;
COSC 2150 and
2030.
3900. Upper Division Topics in Computer Science. 1-3. (Max. 9).
Individual or small group pursuit of interdisciplinary problems
in the use of computers or study of topics of interest within industry.
Prerequisite: consent of instructor. (Offered based on sufficient demand
and resources)
3970. Internship in Computing. 1-6 (Max. 12). Allows
students to gain practical experience in computing. A signed contract with
a supervisor and departmental adviser must be completed before enrolling
for the internship. Prerequisite: sophomore standing.
4000. Topics in Computer Science for Educators. 1-6 (Max. 12).
Current computer science topics appropriate for K-12 teachers. Credit may not be
applied to major requirements in computer science or management information systems.
Prerequisite: graduate standing or consent of instructor. (Offered based on sufficient demand and resources)
4010. Special Topics in Computer Science. (B) 1-3 (Max. 9). Individual or small group pursuit of interdisciplinary
problems in the use of computers or study of advanced topics. (Maximum
of 12 hours from 4010 and 5010 may be applied to graduate study.) Prerequisites:
COSC 3020 concurrently and consent of instructor.
(Offered based on sufficient demand and resources)
4100. Foundations of Computing. 3. Introduces several theoretical areas which are the basis of computer science. Languages and automata, computability, complexity, analysis of algorithms, logic and the specification and correctness of programs. Prerequisite: COSC 3020. 4200. Computability and Complexity. 3.Introduction to theoretical study of computability and efficient computation. Finite-state and pushdown automata; turing machines and the Church-Turing thesis; undecidability, computational complexity; NP-completeness. Prerequisite: COSC 3020. 4210. Analysis and Design of Information Systems. 3. Students with information technology skills learn to analyze and design information systems. Practice of software engineering techniques during team-oriented analysis and design of a departmental system. Prerequisite: COSC 2030. 4220. Design and Implementation in
Emerging Environments. 3. Students who have completed the analysis and
design course extend their knowledge by implementing an information system in an
emerging systems environment. Teams use project management principles to
implement the system. Prerequisite:
COSC 4210. 4340. Numerical Analysis. 3. Machine arithmetic,
analysis of rounding errors, direct and iterative methods for linear systems of equations,
iteration, interpolation, numerical differentiation and integration, numerical solution of
differential equations. Programming exercises using a procedural language. Cross listed with
MATH 4340. Prerequisites: grade of C or better in
COSC 1010,
MATH 2310, and either
MATH 2250 or
3310; or consent of instructor 4350. System Simulation. (B) 3. Introduces
simulation and comparison with other techniques. Studies discrete simulation
models, and introduction to, or review of, queuing theory and stochastic
processes. Compares discrete change simulation languages. Examines simulation
methodology including generation of random numbers and variates, design
of simulation experiments for optimization, analysis of data generated
by simulation experiments, and validation of simulation models and results.
Selected applications of simulation. Dual listed with COSC 5350. Prerequisites:
COSC 3020; MATH 4250
or STAT 2010. 4420. Advanced Logic. 3. Studies advanced
topics in mathematical logic. Takes up such topics as: uninterpreted calculi and
the distinctive contributions of syntax and semantics; methatheory, including
completeness and consistency proofs; modal logic and semantics; logic as a
philosophical tool. Cross listed with
MATH/
PHIL 4420. Prerequisite:
PHIL 3420 or equivalent. 4450. Computer Graphics. (B) 3. Introduction to
computer graphics, an increasingly important area of computer science.
Computer graphics, together with multimedia and the world-wide web, offers
exciting new possibilities for the design of human-computer interfaces.
Presents the principles, techniques, and tools that enable these advances. Dual
listed with COSC 5450. Prerequisites: COSC 3020
and MATH 2250.
4530. Digital Image Processing. 3. Methodologies
and algorithms for processing digital images by computer. Includes color
spaces, pixel mappings, filtering, image segmentation, geometric operations
and pattern classification. Cross listed with EE 4530. Prerequisites: MATH 2205 and
2250; COSC 1030
or 3070.
4550. Introduction to Artificial Intelligence. 3. A computational study of intelligent behavior. Focus is on intelligent agents, which could be software agents or robots. Covers how agents sense, reason, and act within their environment. Includes problem-solving, search, knowledge representation, planning, game playing, learning, and neural and belief networks. Dual listed with COSC 5550. Prerequisites: COSC 3020. 4555. Machine Learning. 3. Goal is to program machines to learn and
improve their performance on their own, based on experience and/or data.
First half covers machine learning techniques; second half covers applications.
Dual listed with COSC 5555. Prerequisite: COSC 3020. 4560. Modern Robots and Softbots. 3. Popular agent designs: logic-based, biomimetic, and physicommimetic. Foundational issues on internal robot and softbot knowledge representations. Planning and control, followed by issues of how agents can reason and plan under real-world conditions of environmental uncertainty. Concludes with discussions about papers on modern robot and softbot applications, as well as invited lectures by graduate students and faculty. Dual listed with COSC 5560. 4740. Operating Systems Design. 4. Studies
systems programming languages and computer systems design. Includes interacting
processes, main storage management, procedure and data sharing, scheduling,
deadlock problems and file management in batch processing and multi-programming
systems. Operating system implementation. Prerequisite: COSC 3020.
4750. Systems Programming and Management. 3. Comparatively
studies features found in commercial and experimental operating systems.
Discusses issues in system-level programming and administration, including
shell programming, file management, resource control, configuration and
security. Advanced topics include multiprocessor and real-time operating
systems. Prerequisites: COSC 2030; 2220
or 4740 concurrently.
4755. Network Applications. 3. Introduces the
structure, implementation, and theoretical underpinnings of computer networking
and the applications that have been enabled by that technology. Dual listed with COSC 5755. Prerequisites: COSC
3020.
4760. Computer Networks. 3. Examines TCP/IP network protocols and implementation in depth, from the perspective of the link, network, transport, and application layers. Discusses problems and current solutions regarding the efficient use of network resources in the global, multi-media internet. Prerequisite: COSC 2030. 4765. Computer Security. 3. Introduces the topics of computer and network security and provides a foundation to allow students to identify, analyze, and solve computer security problems. Prerequisite: COSC 3020. 4780. Principles of Programming Languages. 3.
Introduces the methods of analysis and design of programming languages.
Covers syntax, typing schemes and the semantics (denotational and operations) in
the context of functional and imperative programming languages. Students
build interpreters to explore the implications of the different constructs on
computations. Prerequisites:
COSC 3015.
4785. Compiler Construction 1. 3. Theory and implementation of interpreters and compilers. Compiler topics include lexical analysis, top-down and bottom-up parsing methods, symbol tables, and code generation from a block-structured language with recursion and parameters. Project uses compiler writing tools. Dual listed with COSC 5785. Prerequisite: COSC 3020. 4790. Programming Language Processors. 3. Discusses
principles and design aspects of programming language processors, including
interpreters and compilers. Emphasizes components of compiled system, such
as scanner, parser, symbol table, code generation, optimization, linking
and loading. Uses compiler generation tools. Prerequisite:
COSC 4780.
4820. Principles of Database Systems. 3.
Provides comprehensive coverage of the problems involved in database design,
in-depth coverage of data models and database languages. Students acquire
practical skills of conceptual/logical database design and general familiarity
with the problems and issues of database management. Prerequisite:
COSC 3020.
4840. Software Engineering. 3. Extends the
ideas of software design and development from the introductory programming
sequence to encompass the problems encountered in large-scale programs.
Topics include software engineering techniques from the technical and managerial
perspectives, with a strong emphasis on software design. Prerequisites:
COSC 2030;
2220 or
4740 (concurrent).
4950. Senior Design I. 1. Students choose a senior design project, investigate alternate solutions and submit a preliminary project design. Periodic oral and written project progress reports are required. Prerequisite: COSC 3011 or COSC 4840. 4955. Senior Design II. 2. Students complete the senior
design project partially designed in COSC 4950. Successful communication of the
details of the solution through written documents and oral presentations will be
required. Prerequisite: COSC 4950. Please send comments or questions to registrar@uwyo.edu Last Change: 04/01/08 |