Jul 15, 2024  
2021-2022 University of Wyoming Catalog 
2021-2022 University of Wyoming Catalog [ARCHIVED CATALOG]

Department of Computer Science

Return to {$returnto_text} Return to: Colleges and Schools

4083 Engineering Building, (307) 766‑5190
FAX: (307) 766-4036
Web site:
Department Head: Ruben Gamboa


JAMES L. CALDWELL, B.S. State University of New York at Albany 1984; M.S. 1988; M.S. Cornell University 1995; Ph.D. 1998; Professor of Computer Science 2015, 1998.

RUBEN GAMBOA, B.S. Angelo State University 1984; M.C.S. Texas A&M University 1986; Ph.D. The University of Texas 1999; Professor of Computer Science 2015, 2002.

JOHN M. HITCHCOCK, B.S. Iowa State University 1999; M.S. 2001; Ph.D. 2003; Professor of Computer Science 2015, 2003.

Associate Professor:

AMY BANIC, B.S. Duquesne University 2003; M.S. University of North Carolina 2005; Ph.D. 2008; Assistant Professor of Computer Science 2012, 2010.

Assistant Professors:

MIKE BOROWCZAK, B.S. University of Cincinnati 2007; Ph.D. 2013; Assistant Professor of Computer Science 2018.

DIKSHA SHUKLA, B.S. Kanpur University 2008; M.C.A. Jawaharlal Nehru University 2011; M.S. Louisiana Tech University 2014; Ph.D. Syracuse University 2019; Assistant Professor of Computer Science 2019.

LARS KOTTHOFF, Diplom (M.Sc.) University of Leipzig 2007; Ph.D. University of St. Andrews 2012; Assistant Professor of Computer Science 2017.

PHILIP SCHLUMP, B.S. Computer Science, University of Wyoming 1990; M.S. Computer Science, University of Wyoming 1991; Professor of Practice since 2019, University of Wyoming.

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:

Thomas A. Bailey, Jr., Henry R. Bauer III, John R. Cowles, John Rowland

Lecturer Emeritus:

Jeri R. Hanly

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, and 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 have the option to focus their studies by taking a concentration in Business, Big Data, or the Cybersecurity certificate. The Cybersecurity certificate captures core technical cyber security foundations and principles, from databases and networks to advanced threat detection and mitigation. 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 objectives that the Computer Science program is preparing its graduates to achieve:

Success: Graduates will be employed in a computer science-related field or making progress toward an advanced graduate degree.
Growing: Graduates show continued learning and leading in computing-related professions.
Ethics: Graduates exhibit ethical and responsible behavior in all professional and community endeavors.

Program Learning Outcomes

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

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Computer Science Undergraduate Major

This major consists of a core set of required and elective courses as seen below. Students may also pursue one of a number of concentrations, which may further constrain the elective courses: Computers and Business, or Big Data. In addition to these courses, Computer Science majors must satisfactorily meet the requirements of the University Studies Program (USP), and they must complete a minimum of 120 credit hours, at least 42 of which must be upper division hours. See the front sections of this catalog for specifics on the USP and university graduation requirements. 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, 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. The courses in this 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 Core (required for all concentrations)

Computer Science courses
COSC 1010 Introduction to Computer Science I - 4 credits 
COSC 1030 Computer Science I - 4 credits    
COSC 2030 Computer Science II - 4 credits  
COSC 2150 Computer Organization - 3 credits  
COSC 3011 Introduction to Software Design - 3 credits 
COSC 3015 Functional Programming - 3 credits  
COSC 3020 Algorithms and Data Structures - 4 credits  
COSC 3050 Ethics for the Computer Professional - 1 credits  
COSC 4950 Senior Design I - 1 credits   
COSC 4955 Senior Design II - 2 credits  
Operating Systems Course - Choose one of:
COSC 3750 Linux Programming for System Applications - 3 credits   (see NOTE below)
COSC 4740 Operating Systems Design - 4 credits 
NOTE: If COSC 3750 is taken for the Operating Systems Course, student must still meet the minimum total coursework requirement and upper division hour requirement for the degree. 
Systems course - Choose one of:
COSC 4760 Computer Networks - 3 credits  
COSC 4820 Database Systems - 3 credits   
Program Language Course - Choose one of:
COSC 4780 Principles of Programming Languages - 3 credits  
COSC 4785 Compiler Construction - 1 credits   
Theory Course - Choose one of:
COSC 4100 Foundations of Computing - 3 credits  
COSC 4200 Computability and Complexity - 3 credits  
Mathematics and Science courses:
MATH 2200 Calculus I - 4 credits  
MATH 2205 Calculus II - 4 credits  
MATH 2250 Elementary Linear Algebra - 3 credits  
COSC 2300 Discrete Structures - 3 credits  
Statistics Course: Choose one of:
STAT 2050 Fundamentals of Statistics - 4 credits  
STAT 2070 Introductory Statistics for the Social Sciences - 4 credits  
Science Courses: must take two, 4 hour science courses outside of Computer Science.
NOTE: Courses meeting the Science requirement must have a lab component and be for science or engineering majors. See Department web pages for a current list of approved courses.

Math/Science electives - 4 credits.
Elective or electives needed to meet ABET minimum Math/ Science requirement of 30 credit hours.
Math/Stat electives means any MATH courses above Calculus II or STAT courses 3000 and up. Exceptions: cannot count MATH 2350, MATH 2355, MATH 4000, STAT 4220 or any variable credit courses toward this requirement.


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. The Department also offers a graduate minor in computer science.

Program Specific Admission Requirement

Applicants for a graduate degree in computer science are expected to have completed undergraduate courses in Algorithms and Data Structures (COSC 3020  equivalent), Theory of Computing (COSC 4100  or COSC 4200  equivalent), Operating Systems (COSC 4740  equivalent), and Programming languages or Compilers (COSC 4780  or COSC 4785  equivalent). Applicants to the doctoral program must have completed a bachelor’s degree in computer science or a closely related discipline at an accredited university or college.

The Graduate Record Examination (GRE) is required of all applicants. GRE scores are required with minimums of 40th percentile for the verbal score and 65th percentile for the quantitative score. Our strongest students tend to have scores substantially above these minimums, with quantitative scores often around the 90th percentile or higher.

Students whose native language is not English must also complete the Test of English as a Foreign Language (TOEFL) with a score of at least 550 on the paper based TOEFL; 213 on the computerized test including a 58 or better in section 1-Reading; 80 for the Internet based TOEFL (iBT) including a score of 23 or better in section 1-Reading or the International English Language Testing System (IELTS) test with a 6.5 score or better.

You must submit to the online application system contact information for three references that can evaluate your potential for graduate study in computer science. If you wish to pursue a Ph.D., the letters should address your ability to pursue quality original research. Letters should also evaluate your oral and written communication skills.

If you meet the minimum criteria and would like to formally apply for admission you will also need to submit the following information during the completion of your application via the application portal:

Copies of transcripts from all colleges and universities (minimum GPA or equivalent 3.000 on a scale of 4.000) for all degrees attained. International applicants must submit copies of individual semester transcripts, consolidated transcripts will not be accepted.

Copy of GRE scores a minimum percentile of 40% on verbal and 65% on quantitative portions of the exam. The majority of admitted students tend to have scores substantially above these minimums.

Contact information for three recommendation letters (applicants should follow-up with recommenders to ensure this requirement is fulfilled; applications will not be processed further until all recommendations have been received).

International students will also need to submit a copy of TOEFL scores, or IELTS scores.

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.




    Return to {$returnto_text} Return to: Colleges and Schools