Some of the content on this website requires JavaScript to be enabled in your web browser to function as intended. While the website is still usable without JavaScript, it should be enabled to enjoy the full interactive experience.

Skip to Main Navigation. Each navigation link will open a list of sub navigation links.

Skip to Main Content

University Catalog|Office of the Registrar

Department of Computer Science

James Caldwell, Department Head
4083 Engineering Building
Phone: (307) 766-5190, FAX: (307) 766-4036
Website: http://www.uwyo.edu/cosc/ 

Professors

THOMAS A. BAILEY, JR., B.S. Alma College 1964; M.S. University of Colorado 1969; Ph.D. Michigan State University 1978;  Professor of Computer Science 1998, 1980.
JOHN R. COWLES, B.A. University of Wyoming 1968; M.A. University of Nebraska 1970; Ph.D. Pennsylvania State University 1975; Professor of Computer Science 1992, 1978.
JEFFREY VAN BAALEN, B.S. University of Wyoming 1977; M.S. 1980; Ph.D. Massachusetts Institute of Technology 1988; Professor of Computer Science 2002, 1991.

Associate Professors

JAMES L. CALDWELL, B.S. State University of New York at Albany 1984; M.S. 1988; M.S. Cornell University 1995; Ph.D. 1998; Associate Professor of Computer Science 2004, 1998.
RUBEN GAMBOA, B.S. Angelo State University 1984; M.S. Texas A&M University 1986; Ph.D. The University of Texas 1999; Associate Professor of Computer Science 2007, 2002.
JOHN M. HITCHCOCK, B.S. Iowa State University 1999; M.S. 2001; Ph.D. 2003; Associate Professor of Computer Science 2009, 2003.
LIQIANG WANG, B.S. Hebei Normal University 1995; M.Eng. Sichjan University 1998; M.S. SUNY Stony Brook 2003; Ph.D. 2006; Associate Professor of Computer Science 2012, 2006.

Assistant Professors

AMY BANIC, B.S. Duquesne University 2003; M.S. University of North Carolina 2005; Ph.D. 2008; Assistant Professor of Computer Science 2012, 2010.
JEFF CLUNE, B.A. University of Michigan 1999; M.A. Michigan State University 2005; Ph.D. Michigan State University 2010; Assistant Professor of Computer Science 2013.

Senior Lecturer

ALLYSON A. ANDERSON, B.S. University of Wyoming 1991; M.S. 1994; Senior Lecturer of Computer Science 2008, 1994.
JAMES S. WARD, B.S. University of Wyoming 1993; M.S. 1997; Senior Lecturer of Computer Science 2011, 2000.

Associate Lecturer

KIM BUCKNER, B.S. Chapman University 1993; M.S. University of Tennessee, Knoxville 1998; Ph.D. 2003; Associate Lecturer of Computer Science 2014, 2008.

Professor Emeritus

Henry R. Bauer III
John Rowland

Lecturer Emeritus

Jeri R. Hanly

Computer Science

A Bachelor of Science degree (B.S.) in Computer Science prepares students for careers in virtually any industry or to continue on with graduate study in Computer Science and many other fields. Computer science students learn to approach problems from a computational (algorithmic) point of view, this approach to problem solving often leads to better and more general solutions. Software systems, information technology, and large scale data applications are core technologies in every area and the applications continue to grow with software and information systems becoming more and more embedded in the fabric of everyday life. These systems are essential tools in science and engineering, for business and finance, government, communications, medicine, and entertainment. Software systems make the world go round and smart devices, such as phones, tablets, glasses, wearable devices, medical implants are ubiquitous. As a result, computer science has grown from a specialized field to an independent, broadly based area that studies all aspects of the use and understanding of software systems, information, and computational processes. Students studying B.S. in Computer Science at the University of Wyoming can study for the B.S. degree in Computer Science and have the option to focus their studies by taking a concentration in Business, Big Data or International Engineering. All of the Computer Science concentrations lead to a Bachelor of Science in Computer Science and all programs are ABET accredited.

Program Objectives

The following are the measurable objectives for graduated computer science students (ABET Standards):

  1. Have successfully applied the fundamentals of computer science to solve software-oriented computing problems.
  2. Have effectively communicated within and outside the discipline and work effectively with others.
  3. Have extended their knowledge by independent learning and continuing education.
  4. Appreciate the role of computer science in the societal context and appreciate the importance of ethics in the practice of the profession.

Program Learning Outcomes

The program of study in Computer Science enables students to achieve, by the time of graduation:

  • (a) An ability to apply knowledge of computing and mathematics appropriate to the discipline;
  • (b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution;
  • (c) An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs;
  • (d) An ability to function effectively on teams to accomplish a common goal;
  • (e) An understanding of professional, ethical, legal, security, and social issues and responsibilities;
  • (f) An ability to communicate effectively with a range of audiences;
  • (g) An ability to analyze the local and global impact of computing on individuals, organizations and society;
  • (h) Recognition of the need for, and an ability to engage in, continuing professional development;
  • (i) An ability to use current techniques, skills, and tools necessary for computing practices.
  • (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;
  • (k) An ability to apply design and development principles in the construction of software systems of varying complexity.

Computer Science Undergraduate Major

This major consists of a core set of courses plus a concentration chosen by the student from one of: Computer Science, Computers and Business, International Engineering, or Big Data. In addition to these courses, Computer Science majors must satisfactorily meet the requirements of the University Studies Program (USP). See the front sections of this catalog for specifics on the USP. Note that some of the courses required for the Computer Science core or the concentrations will meet some of the USP requirements. Students do not have to take additional courses to meet those requirements. All courses in Computer Science, Mathematics, Application Area (Big Data) and Statistics must be completed with a grade of C or better. A grade of C- is not acceptable.

Computer Science Core

These courses, along with the USP requirements, provide a basic set of skills that all Computer Science majors should master.

Computer Science Core (all concentrations) Hrs.
Computer Science courses
COSC 1010: Intro to Computer Science 4
COSC 1030: Programming I 4
COSC 2030: Programming II 4
COSC 2150: Computer Organization 3
COSC 3011: Software Design 3
COSC 3020: Algorithms & Data Structures 4
COSC 3050: Ethics 1
COSC 4950: Senior Design I 1
COSC 4955: Senior Design II 2
Mathematics & Science courses
MATH 2200: Calculus I 4
MATH 2205: Calculus II 4
COSC/MATH 2300: Discrete Mathematics 3
Statistics Course: one of STAT 2010, 2050, 2070, or 4220 4
Science Courses: must take 4, 4-hour science courses outside of Computer Science. See NOTE below 16

NOTE: Courses meeting the Science requirement must have a lab component and be for science or engineering majors. Two must be chosen from a tightly-coupled series - CHEM 1020 & 1030 or CHEM 1050 & 1060 or PHYS 1110 & 1120 or PHYS 1210 & 1220 or PHYS 1310 & 1320 or LIFE 1010 & (2022 or 2023). See Department web pages for a current list of other approved courses.

Computer Science

These elements of the Computer Science program concentrate on the creation and understanding of computer software. The curriculum focuses first on programming and then on the central processes that support programming: operating systems, programming languages, and computational theory.

Computer Science Hrs.
Computer Science courses
COSC 3015: Functional Programming 3
COSC 4740: Operating Systems 4
COSC System Course: COSC 4760: Networks or COSC 4820: Databases 3
COSC Theory Course: COSC 4100: Foundations or COSC 4200: Computability 3
COSC Language Course: COSC 4780: PPL or COSC 4785: Compilers 3
COSC Electives: upper division, 12 hours. At most 3 hours of COSC 3970 can be counted toward this requirement. 12
Mathematics courses
Math Electives: 6 hours from MATH courses above Calculus II or STAT courses 3000 level and up. Exceptions: cannot count MATH 2350, MATH 2355, MATH 4000, or any variable credit courses toward this requirement 6
Other courses
Upper Division Electives: 6 hours from any department 6
Free Elective: 3 hours from any department. Must be 1000 level or higher 3

Computers and Business Concentration

An understanding of business fundamentals is essential for students planning a career in applied computer science in a business environment. This program of study provides a foundation in computer science, business and information management. It includes courses in accounting, management, marketing, database fundamentals, and design and implementation of software systems. The curriculum leads to the Bachelor of Science in Computer Science degree.
It is highly recommended that students in this concentration declare a Business minor, since they will meet all the requirements without any additional courses. If you are planning on attending graduate school in Computer Science, then you should take COSC 4740 for the operating systems course and COSC 4100 or COSC 4200 and COSC 4780 or COSC 4785 for the two computer science electives.

Computers and Business Hrs.
Computer Science courses
COSC 4210: Analysis and Design 3
COSC 4220: Design and Implementation 3
COSC 4820: Databases 3
COSC O/S Course: one of COSC 3750: Linux Programming, or COSC 4740: Operating Systems, or COSC 4750: Systems Programming 3
COSC Elective: upper division, 6 hours. At most 3 hours of COSC 3970 can be counted toward this requirement 6
Business courses
ACCT 1010: Accounting I 3
ACCT 1020: Accounting II 3
MGT 1040: Legal Environment of Business 3
MGT 3110: Business Ethics 3
MGT 3210: Management and Organization 3
MKT 3210: Intro to Marketing 3
FIN 3250: Corporate Finance 3
Business Elective: 3 hours upper division Business course 3
Other courses
Upper Division Elective: 3 hours from any department 3

International Engineering Concentration

Computer Science is a global profession, and today’s computer scientists must be able to work and interact in a variety of diverse cultural and technical environments. The international engineering concentration gives computer science students an opportunity to study culture and foreign language at the same time as they pursue their computer science degrees.

The concentration includes at least one semester of study abroad. In addition, students may participate in a four-to-five month international internship. Foreign language skills can be earned through a variety of means, including formal university coursework, intensive summer language programs, and previous education.

International Engineering Hrs.
Computer Science courses
COSC 3015: Functional Programming 3
COSC 4740: Operating Systems 4
COSC System Course: COSC 4760: Networks or COSC 4820: Databases 3
COSC Theory Course: COSC 4100: Foundations or COSC 4200: Compatibility 3
COSC Electives: upper division, 12 hours. At most 3 hours of COSC 3970 can be counted toward this requirement. 12
Mathematics courses
Math Electives: 6 hours from COSC 4340 or MATH courses above Calculus II or STAT courses 3000 level and up. Exceptions: cannot count MATH 2350, MATH 2355, MATH 4000, or any variable credit courses toward this requirement 6
Foreign Language
Foreign Language Courses: 4 semesters (or equivalent, see above) of a single foreign language 15
Other courses
Upper Division Electives: 6 hours from any department 6
Free Elective: 3 hours from any department. Must be 1000 level or higher 3

Big Data Concentration

Big data is high volume, high velocity, and/or high variety assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization. The Big Data Concentration directs the students toward data handling (AI, visualization, data mining, and machine learning) courses, data analysis (statistics) courses, and adds an interdisciplinary Application Area component (chosen from a specific set of courses) that will broaden the student’s experience in processing varied forms of data.

It is highly recommended that students in this concentration declare a Statistics minor, since they will meet all the requirements without any additional courses. If you are planning on attending graduate school in Computer Science, then you should take COSC 4740 for the operating systems course and COSC 4100 or COSC 4200 and COSC 4780 or COSC 4785 for the two computer science electives.

Big Data Hrs.
Computer Science courses
COSC 4450: Graphics 3
COSC 4550: Intro to Artificial Intelligence 3
COSC 4555: Machine Learning 3
COSC 4570: Data Mining 3
COSC 4820: Databases 3
COSC O/S Course: COSC 3750: Linux Programming, or COSC 4740: Operating Systems, or COSC 4750: Systems Programming 3
COSC Electives: upper division, 6 hours. At most 3 hours of COSC 3970 can be counted toward this requirement 6
Mathematics and Science courses
MATH 2250: Linear Algebra 3
STAT 3050: Statistical Methods 3
STAT 4015: Regression Analysis 3
STAT 4045: Categorical Data Analysis 3
STAT 4115: Time Series Analysis 3
Application Area Course, one of MOLB 4495 or BOT 4550 or CHEM 4560 or GEOG 4220 or PHYS 4830; see department web pages for the most current list of approved courses 3

Computer Science Minor Requirements

Requirements for a minor in Computer Science are as follows:

  • A total of 18 credits of computer science courses
  • All 18 credits must have a grade of C or better. A grade of C- is not acceptable.

Graduate Study

The Department of Computer Science offers graduate work leading to the master of science degree in computer science and the doctor of philosophy in computer science.

Program Specific Admission Requirement

Applicants must meet the minimum standards of the university.

Acceptance will be based on the student's academic records.

High performing undergraduates in computer science can elect for Quick Start admission to the graduate program, allowing the sharing of up to six credit hours of 5000-level coursework toward the completion of both the B.S. and the graduate degree programs.

For the master's degree and the Ph.D. program, the following courses or their equivalent are considered preparatory for graduate work in computer science: COSC 3020, COSC 4100 or 4200, COSC 4740, and COSC 4780 or 4785. Students admitted to the program must show proficiency in these courses.

An applicant whose previous studies are in a field significantly removed from computer science may be admitted to the regular master's degree or the Ph.D. program on the condition that he or she take additional courses to remove deficiencies in his or her computer science background.

Admission to the master's degree program or the conferring of a master's degree will not constitute a de facto admission to the Ph.D. program.

Program Specific Degree Requirements

M.S. Program

Each M.S. student will have a supervising committee of at least three members appointed. The committee will consist of at least two members of the computer science faculty and at least one non-COSC faculty member.

Both Plan A and Plan B students must complete the CORE REQUIREMENTS and the BREADTH REQUIREMENTS.

Both Plan A and Plan B students are required to formally defend (Plan A) or present (Plan B), their theses or papers, which describe their work, as a public colloquium before their supervising committees and a public audience. All defenses and presentations must be open and announced at least two weeks in advance.  The thesis or paper must be distributed to the committee at least two weeks in advance of the defense or presentation.  If the student does not pass the defense or presentation, the committee will instruct the student as to what needs to be accomplished (and by when) to pass.

Upon completion of the requirements for the Plan A or Plan B M.S. programs, a student enrolling in the Ph.D. program also meets the CORE REQUIREMENTS and the BREADTH REQUIREMENTS for the Ph.D. program.  The Ph.D. oral qualifying exam may also be waived at the discretion of the student's Ph.D. supervising committee.  Courses completed towards the M.S. degree may be counted towards the Ph.D. course requirements.

Plan A (thesis)

A total of at least 33 credit hours at the 4000 level or above must be completed.  The student must complete a minimum of 29 hours of courses, including the CORE REQUIREMENTS and the BREADTH REQUIREMENTS, and a minimum of 4 hours of COSC 5960 (Thesis Research).  At least 20 credit hours must consist of computer science department courses.  At least 15 credit hours must be at the 5000 level, not including seminars, COSC 5050, Independent Study, and Research.  No more than 6 hours of 4000-level computer science coursework may be counted toward the total credit requirement. Coursework from other departments may count towards degree requirements with the approval of the supervising M.S. committee.  

Plan B (non-thesis)

A total of at least 33 credit hours at the 4000 level or above must be completed.  The student must complete a minimum of 32 hours of courses, including the CORE REQUIREMENTS and the BREADTH REQUIREMENTS, and a minimum of 1 hour of COSC 5960 (Thesis Research).  At least 20 hours must consist of computer science department courses. At least 15 credit hours must be at the 5000 level, not including seminars, COSC 5050, Independent Study, and Research.  No more than 6 hours of 4000-level computer science coursework may be counted toward the total credit requirement. Coursework from other departments may count towards degree requirements with the approval of the supervising M.S. committee.

UW Coursework Requirements for M.S. Transfer Students:  M.S. transfer students must complete at least 21 credit hours at the University of Wyoming.  At least 12 credits of the CORE & BREADTH REQUIREMENTS must be taken at the University of Wyoming.  No more than one class per category of breadth may be counted towards this 12-credit total. The research writing course and algorithms course credits may be counted toward this 12-credit total.  Seminar credits may not be counted toward this 12-credit total.

Summary of Credit Requirements Plan A Plan B PhD
Core: COSC 5110 and 5050 6 6 6
Core: COSC 5000 seminar 2 2 4
Breadth: theory course, AI course, two systems courses 12 12 12
Additional courses 9 12 20
Thesis/Dissertation (COSC 5960/5980) 4 1 12
Other credits (may include courses or COSC 5960/5980) 0 0 18
Total 33 33 72

 

Ph.D. Program

Each doctoral student will have a supervising committee of at least five members appointed. The primary functions of this committee are to suggest coursework, to administer the qualifying, preliminary, and final examinations, and to oversee and evaluate the research of the candidate. The committee will consist of at least three members of the computer science department faculty and at least one non-COSC faculty member. The standards that this committee should consider when recommending programs of study are outlined in the following sections.

Coursework Requirements: A total of at least 72 credit hours at the 4000-level or above must be completed.  A minimum of 42 of these credit hours must be taken as coursework, including the CORE REQUIREMENTS and the BREADTH REQUIREMENTS.  A minimum of 12 hours of COSC 5980 (Dissertation Research) must be taken. No more than 6 hours of 4000-level computer science coursework and no more than 12 hours total of 4000-level coursework, may be counted toward the total credit requirement.  Coursework from other departments may count towards degree requirements with the approval of the supervising Ph.D. committee.  All course requirements MUST be completed or enrolled with satisfactory midterm progress prior to scheduling the Ph.D. Final Examination.

UW Coursework Requirements for Ph.D. Transfer Students:  Ph.D. transfer students must complete at least 24 credit hours at the University of Wyoming.  At least 12 credits of the CORE & BREADTH REQUIREMENTS must be taken at the University of Wyoming.  No more than one class per category of breadth may be counted towards this 12-credit total. The research writing course and algorithms course credits may be counted toward this 12-credit total.  Seminar credits may not be counted toward this 12-credit total.

Program: A program of original and innovative research will be undertaken by the candidate. At the end of this program, the candidate will document this research in a dissertation. The dissertation will present the details and results of the candidate's research in addition to providing a critical comparison with relevant previously-published works.

Each successful doctoral student must pass three examinations. These include a qualifying examination, a preliminary examination, and a final (dissertation) defense.

Qualifying Exam Criteria: The student must complete the CORE REQUIREMENTS and pass a closed oral examination on a research area administered by the supervising committee. Although closed to the public, faculty members of the Department of Computer Science are welcome to attend.  The exam must be announced to the faculty at least two weeks in advance.  The research area will be chosen in consultation with the committee. The student must demonstrate background knowledge of the state of the art in the area and preliminary work. This will involve, but is not limited to, presenting material and answering questions covering the relevant area knowledge. The format of the exam will be defined by the committee prior to the exam to allow for sufficient preparation. This examination is intended to motivate the candidate to review relevant literature extensively prior to pursuing the original and innovative portions of the research. Qualifying exam criteria must be completed within the first 4 semesters of enrollment in the Ph.D program. If the student does not pass the qualifying exam, the committee will instruct the student as to what needs to be accomplished (and by when) to pass.  The closed oral examination requirement may be waived for a student who has completed an M.S. degree in COSC at UW if their M.S. presentation was at a research level that demonstrated background knowledge of the state of the art in the area, at the discretion of the supervising Ph.D. committee.

Preliminary Exam Criteria: Prior to scheduling the Preliminary Examination, the student must be making satisfactory progress towards completion of their course requirements, including the BREADTH REQUIREMENTS. A Preliminary Examination will consist of a presentation and defense of the already-completed portion of the dissertation research and the research that is proposed to complete the dissertation. The Preliminary Examination must be open and announced at least two weeks in advance. The preliminary examination must be completed within 8 semesters of enrollment in the Ph.D program. This examination is intended to motivate the candidate to make significant progress on work towards their Ph.D. dissertation and propose milestones for completion. If the nature of the proposed continued research and methodology is deemed to be sufficiently original and innovative by the supervising committee, then the committee will approve the research direction after having administered this examination. If the student does not pass the preliminary exam, the committee will instruct the student as to what needs to be accomplished (and by when) to pass.

Option for M.S. degree en route to Ph.D.:  After completing the Qualifying Exam and Preliminary Exam, a Ph.D. student may additionally earn an M.S. degree after completing the remaining M.S. course requirements, including the BREADTH REQUIREMENTS.  COSC 5980 may be substituted for COSC 5960 in the M.S. requirements at the discretion of the supervising committee. The M.S. degree will be granted only after completion of the preliminary exam.  For an M.S. degree to be granted prior to completion of the preliminary exam, the student should enroll in the M.S. degree program and complete the remaining M.S. requirements.

Final Exam Criteria: Prior to scheduling the Ph.D. Final Examination (often referred to as a “defense”), all course requirements, including the BREADTH REQUIREMENTS, MUST be completed or enrolled with satisfactory midterm progress.The Final Examination (dissertation defense) will consist of an oral presentation by the candidate of his/her research and the results that were derived. At this examination, the candidate is expected to defend the research as being original and contributory to the discipline of computer science. The Final Examination must be open and announced at least two weeks in advance. The dissertation must be distributed to the supervising committee at least two weeks in advance of the Final Examination. If the student does not pass the final exam, the committee will instruct the student as to what needs to be accomplished (and by when) to pass.

Time to degree for part-time students: Exceptions to the completion deadlines for the Qualifying Exam and Preliminary Exam may be made for part-time students at the discretion of the supervising committee.

COMPUTER SCIENCE CORE REQUIREMENTS

Each of the following must be completed with a B or better for COSC 5110 (algorithms) and a Satisfactory for COSC 5050 (research writing) and COSC 5000 (seminars):

  • COSC 5110 Analysis of Algorithms
  • COSC 5050 Research Writing for Computer Science
  • COSC 5000 Seminars: 2 for M.S. students and 4 for Ph.D. students

Students are strongly encouraged to take COSC 5110 the first time it is offered after enrollment.

COMPUTER SCIENCE BREADTH REQUIREMENTS

Students must earn a grade of B or better in one class from the Theory category, one class from the Artificial Intelligence Category, and one class from each of two different Systems categories (e.g. one class from Programming Languages and Compilers and one class from Computer Graphics, Visualization, and Interaction). Although some courses may count under multiple categories, a course may only count once towards the breadth requirement. Thus there must be 12 credits taken to satisfy the breadth requirement. Only 5000-level computer science courses may count towards the breadth requirement.

Theory:

  • COSC 5120 Theory of Computation
  • COSC 5200 Computational Complexity
  • COSC 5220 Languages and Automata
  • COSC 5010/20 Theory topics courses as offered (must be approved by the department)


Artificial Intelligence:

  • COSC 5550 Introduction to Artificial Intelligence
  • COSC 5555 Machine Learning
  • COSC 5560 Modern Robots
  • COSC 5010/20 Artificial Intelligence topics courses as offered (must be approved by the department)


Systems: Programming Languages and Compilers:

  • COSC 5750 Computer Architecture
  • COSC 5785 Compiler Construction
  • COSC 5010/20 Programming Languages and Compilers topics courses as offered (must be approved by the department)


Systems: Computer Graphics, Visualization, and Interaction:

  • COSC 5450 Computer Graphics
  • COSC 5730 Mobile Device Programming
  • COSC 5010 Human-Computer Interaction
  • COSC 5010 Virtual Reality Environment Systems
  • COSC 5010/20 Computer Graphics, Visualization, and Interaction topics courses as offered (must be approved by the department)


Systems: Networking, Distributed Computing, and Data Management:

  • COSC 5750 Parallel and Distributed Systems
  • COSC 5755 Network Applications
  • COSC 5820 Advanced Database Systems
  • COSC 5010 High Performance Computing
  • COSC 5010/20 Networking, Distributed Computing, and Data Management topics courses as offered (must be approved by the department)

 

Academic Dishonesty

For cases in which a graduate student has admitted to an act of academic dishonesty or has been found culpable through university procedures according to University Regulation 6-802, the graduate committee will meet with the student and faculty member(s) involved to assess the severity of the act. Both the faculty member(s) and the student will be afforded the opportunity to present views and information relevant to the act. The graduate committee may then take action by recommending that the student be terminated from graduate study in the department (for flagrant violations) or that a letter of reprimand be sent to the student with a copy sent to the Office of the Registrar.

Computer Science (COSC) Courses

Share This Page:

Footer Navigation

University of Wyoming Medallion
 
1000 E. University Ave. Laramie, WY 82071 // UW Operators (307) 766-1121 // Contact Us // Download Adobe Reader