Mar 28, 2024  
2014-2015 General Catalog (Summer, Fall 2014) 
    
2014-2015 General Catalog (Summer, Fall 2014) ARCHIVED CATALOG: To search archives, MUST use search box to left. Current catalog: catalog.usu.edu.

Computer Science


Department Head: Dan Watson

Location: Main 414
Phone: (435) 797-2451
FAX: (435) 797-3265
E-mail: dan.watson@usu.edu
WWW: http://www.cs.usu.edu/

Associate Head and Coordinator for Graduate Programs in Computer Science:

Nicholas Flann, Main 402D, (435) 797-2451, nick.flann@usu.edu

Undergraduate Advisor:

Myra Cook Brown, ENGR 314, (435) 797-2705, myra.cook@usu.edu

Undergraduate Degrees and Programs Offered: Bachelor of Science (BS), Bachelor of Arts (BA), Five-year BS/MS program

Undergraduate Emphases: BS, BA—Science, Digital Systems, Software Development, Bioinformatics

Graduate Degrees Offered: Master of Science (MS), and Doctor of Philosophy (PhD) in Computer Science; Master of Computer Science (MCS)

Graduate Specializations: MS—Artificial Intelligence, Information Systems, Parallel Systems, Software Engineering

Accreditation: The Computer Science undergraduate program is accredited by the Computing Accreditation Commission of ABET, www.abet.org, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012; telephone (410) 347-7700.

Program Educational Objectives

As defined by ABET, program educational objectives are broad statements that describe what graduates are expected to attain within a few years of graduation. The Computer Science Department at Utah State University has the following program educational objectives. The computer science program of study is designed to provide undergraduates with the knowledge, skills, and tools to reach these educational objectives.

The Utah State University Computer Science program will prepare its graduates to: 

  • Be successful as practicing professionals in diverse career paths or in graduate school.
  • Be able to apply the principles of computer science to solve real world problems appropriate to the discipline.
  • Be effective communicators and team members.
  • Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.

Student Outcomes

The Computer Science department has four undergraduate degree emphases in which a student can obtain a Bachelor of Science or Arts degree. The Science, Information Systems, Digital Systems, and Bioinformatics emphases are designed in accordance with the ABET accreditation criteria for computer science degrees and are ABET-accredited.

The student outcomes of the Computer Science Department are governed by ABET which has established the following student outcomes:

  • An ability to apply knowledge of computing and mathematics appropriate to the discipline
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  • An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
  • An ability to function effectively on teams to accomplish a common goal
  • An understanding of professional, ethical, legal, security and social issues and responsibilities
  • An ability to communicate effectively with a range of audiences
  • An ability to analyze the local and global impact of computing on individuals, organizations, and society
  • Recognition of the need for and an ability to engage in continuing professional development
  • An ability to use current techniques, skills, and tools necessary for computing practice
  • 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
  • An ability to apply design and development principles in the construction of software systems of varying complexity

Assessment

The Computer Science Department has an ongoing assessment process that it highly values. Faculty members devote much of their time and resources to frequent assessment of the level or degree to which stated objectives are being met, the objectives themselves, and the departmental mission statement. The department then uses these results to establish priorities and guide the program. For further information, go to http://www.cs.usu.edu/, and click on assessment.

Computer Science

Computer Science deals with information structures and processes as they are represented and implemented in modern high-speed digital computers, and with information processing systems designed to implement useful applications of computing.

The program in computer science provides a solid foundation of knowledge about computers and teaches a mode of thinking that permits continuing growth on the part of graduates. Prospective students should have an aptitude for mathematics and logic and an interest in analysis and deduction. 

Computer science is one of the fastest growing fields of study in our society. Excellent employment opportunities are available to computer science graduates. All of the major corporations hire computer science graduates. Graduates in Computer Science work for numerous Utah-based corporations, as well as Google, Microsoft, IBM, Hewlett-Packard, etc.

The Computer Science bachelor’s degree is a four-year degree with areas of emphasis in Science, Digital Systems, Software Development and Bioinformatics. In addition, by working with a departmental advisor, students may develop a plan of study tailored to their own unique career objectives. 

Emphases in the Undergraduate Program

The Science Emphasis (SC) is designed for those who plan to pursue scientific or technical careers, research, or graduate education in computer science. Students choosing the science emphasis  take courses in programming languages, advanced algorithms, and math courses in calculus, linear analysis, and multi-variable calculus. Additional courses include a variety of upper-division computer science courses, chosen in consultation with an advisor. This emphasis might be termed the “typical” computer science degree.

The Digital Systems Emphasis (DS) is available for those interested in both the hardware and software aspects of computer systems. In addition to computer science and mathematics courses, students in this emphasis take electrical engineering courses in electronics, circuits, digital fundamentals, microcomputer systems, and digital system design. The curriculum for students in this emphasis is similar to that for students in the computer engineering major in the Electrical and Computer Engineering Department.

The Bioinformatics Emphasis (BI) is designed for students who wish to pursue careers in the computer science aspects of bioinformatics. Students in this emphasis gain a strong background in core computer science areas, such as programming, theory of computing, and software development. In addition, they follow a course of study in biology, chemistry, and statistics. Through this background and course of study, students are provided with the computational skills and the scientific understanding necessary for work in bioinformatics.

The Software Development Emphasis (SD) is designed to give students expertise in all major areas of software engineering, including project management, development processes, group work, requirement capture and analysis, software design, programming, testing, standards, and documentation. Students completing this option are prepared to create sophisticated, reliable, and secure software for a broad range of applications. Students in this option take courses in computer science emphasizing software development processes, conceptual modeling, database design, testing, and security, along with broadening courses in operations research, statistics, and management.

Undergraduate Research

The Computer Science Department provides opportunities for undergraduates to participate in research projects. Additionally, a student may register for CS 4950  to receive credit for their research. To learn about research opportunities, students should contact Computer Science faculty members. Students may work on a project of their own under faculty supervision, or they may do research as part of a faculty member’s research team. 

General Requirements

The requirements stated below are for a bachelor of science (BS).  A bachelor of arts (BA) has all of the requirements for a BS with the addition of proven proficiency in one or more foreign languages as defined in the General Catalog.  See the following link:  catalog.usu.edu/content.php

Minimum Utah State University Requirements

In addition to meeting the requirements for the computer science major, all students graduating with a bachelor’s degree in computer science must meet the minimum Utah State University requirements.  

General Education/University Studies Requirements

In addition to meeting the requirements for the computer science major, all students graduating with a bachelor’s degree in computer science must meet all Utah State University general education and university studies requirements.  These requirements can be found in the General Catalog at the following links:

catalog.usu.edu/preview_program.php

catalog.usu.edu/preview_program.php

Additionally, students are strongly urged to work with their advisor in selecting courses that fill general education requirements. In several cases, there are courses that can simultaneously fill a general education/university studies requirement and a major requirement.  Additionally, in this document, all courses that meet a general education/university studies requirement are noted as such with an abbreviation.

Changes in Graduation/Catalog Requirements

Students who complete a baccalaureate degree within seven years of enrollment at USU qualify for graduation by meeting (1) the General Education/University Studies requirements in effect when they initially enrolled and (2) the major requirements in effect when they officially declared their major (meaning they have achieved advanced standing in the computer science program), even though there may have been changes in General Education/University Studies and major requirements since that time.

Students who have not completed the baccalaureate requirements within seven years of their initial enrollment at USU must have their General Education/University Studies and major requirements evaluated and approved by their department head and dean.

Course Expiration Policy

Coursework (including transfer credit) that is more than 10 years old and is required by the major may be disallowed by the student’s department. Students will have an opportunity to revalidate coursework that is disallowed. 

Summary of Departmental Admission and Retention Requirements

Admission requirements of the Department of Computer Science for freshmen are the same as those described for the University. Transfer students with a 2.2 GPA may apply for admission to the department.

Before a student can register for a Computer Science course, he or she must earn a grade of C- or better in all prerequisite courses. All required classes for the major must be completed with a grade of C- or better. Required courses, regardless of department, may not be taken pass-fail, and a Computer Science major must have advanced standing or written permission to register for Computer Science courses or Electrical and Computer Engineering courses at the 3000-level or above.

In addition to completing the required courses listed below, students must comply with the following regulations, in order to graduate with a bachelor’s degree in Computer Science.

  1. 1. Students must maintain a minimum cumulative GPA of 2.2. The cumulative GPA will be computed using all USU credits, as well as transfer credits (if those transfer credits are applied to any USU requirements, including major requirements).
  2. 2. Students must attain a minimum grade of C- in all courses fulfilling Computer Science major requirements.
  3. 3. Students may have no more than one 5000-level Computer Science course with a grade less than C- on their transcript.
  4.  

Advanced Standing 

In order to achieve advanced standing (enter the professional program), students must achieve a minimum cumulative GPA of 2.2 and a minimum GPA of 2.2 (and a grade of C- or better) among courses in one of the following core emphasis course sequences, or their equivalent, as determined by the Computer Science Department. Note that these requirements are built into the Major Requirements.

Science Emphasis: CS 1400 CS 1405 , CS 1410 , CS 2410  or CS 2412 , CS 2420 , CS 2610  or CS 2612  and CS 3000 ; MATH 1210 , MATH 1220  and MATH 3310  

Digital Systems Emphasis: CS 1400 CS 1405 , CS 1410 , CS 2410  or CS 2412 , CS 2420 , CS 2610  or CS 2612  and CS 3000 ; MATH 1210 , MATH 1220  and MATH 3310  
 
Software Development Emphasis: CS 1400 CS 1405 , CS 1410 , CS 2410  or CS 2412 , CS 2420 , CS 2610  or CS 2612  and CS 3000 ; MATH 1210 , MATH 1220  and MATH 3310  
 
Bioinformatics Emphasis: CS 1400 CS 1405 , CS 1410 , CS 2410  or CS 2412 , CS 2420 , CS 2610  or CS 2612  and CS 3000 ; MATH 1210 , MATH 1220  and MATH 3310  

Suggested Four-year Plans

Suggested semester-by-semester four-year plans for students working towards a Bachelor of Science or Bachelor of Arts degree in emphases within the Computer Science major are available in the Department of Computer Science.

Students should consult with their advisor to develop a plan of study tailored to their individual needs and interests.

Departmental Honors

Students who would like to experience greater academic depth within their major are encouraged to enroll in departmental honors. Through original, independent work, Honors students enjoy the benefits of close supervision and mentoring, as they work one-on-one with faculty in select upper-division departmental courses. Honors students also complete a senior project, which provides another opportunity to collaborate with faculty on a problem that is significant, both personally and in the student’s discipline. Participating in departmental honors enhances students’ chances for obtaining fellowships and admission to graduate school. Minimum GPA requirements for participation in departmental honors vary by department, but usually fall within the range of 3.30-3.50. Students may enter the Honors Program at almost any stage in their academic career, including at the junior (and sometimes senior) level. The campus-wide Honors Program, which is open to all qualified students regardless of major, offers a rich array of cultural and social activities, special classes, and the benefit of Honors early registration. Interested students should contact the Honors Program, Main 15, (435) 797-2715, honors@usu.edu. Additional information can be found online at: http://www.usu.edu/honors/

Additional Information

For more information about requirements for the Computer Science major and minor, contact the Computer Science Department.

Graduate Programs

Computer science deals with the programming, use, management, and organization of computers. Graduate students specialize in many different areas, several of which have strong ties to other disciplines such as mathematics, computer engineering, statistics, accounting, and business administration.

Admission Requirements

Applicants for admission to the graduate program should have a bachelor’s degree in computer science or extensive experience in computing. Normally, a score of at least the 80th percentile on the quantitative test of the general GRE is required for admission to the MS, PhD and MCS. For scores less than these, applicants must show other strengths in their backgrounds to be considered for admission. The GRE computer science subject exam is not required for admission. Those who do take the GRE computer science subject exam will have preference in consideration for the award of financial aid. Decisions on financial aid are made on or near March 15 for the following fall semester.

Course Requirements

In addition to the specific departmental admission and degree requirements described in this section, students are advised that they must also meet all Graduate School requirements as described in the Graduate School section of this catalog. Please note that departmental requirements change from time to time, so students should work closely with their advisor in designing their graduate program. Graduate-level courses outside the department may be acceptable for the graduate degree. In all cases, approval of the candidate’s graduate committee and the department head should be obtained before registering for such courses.

Graduate students in the master’s degree programs who have not taken or passed at the 50th percentile the computer science GRE subject exam are required to meet departmental placement requirements before completion of their first year. Students who have not met this requirement after the first year, as a minimum, will not be eligible for department-funded financial aid and cannot submit their program of study. In some circumstances, students will be terminated in the program. The department placement requirement is met in one or a combination of the following three ways:

 A student can meet the algorithms placement requirement by:

-Passing CS 2420  or CS 5050  with a B- or better

-Show completion of course work from another ABET accredited college or university equivalent to the department algorithms placement courses with a grade of  B- or better

-Pass the algorithms placement exam on the first try

Students are allowed to take the algorithms placement exam a maximum of two times.  If they pass the test on the first try they can take CS 5050  if they desire.  If they pass it on the second try, they must take CS 5050  or CS 2420 .  If they do not pass the test on the second try, they must take CS 2420 .

If students do not receive a BS Computer Science degree from an ABET accredited school, in addition to taking the algorithms placement exam, they must take the department’s intensive programming class (CS 5060 ) their first semester and receive at least a C-.

Financial Assistance

Applicants for admission, as well as current, will automatically be considered for financial aid, with no need for additional application procedures.  Acceptance into the program does not guarantee financial assistance.

Computer Science Faculty

Professor 
Heng-Da Cheng, image processing, artificial intelligence, parallel processing, computer vision, fuzzy logic, VLSI algorithms and architectures, neural networks

Professors Emeritus
Scott R. Cannon, parallel processing, real-time systems, space flight software systems applications
Donald H. Cooley, evolutionary algorithms, neural networks, multimedia systems
Wendell L. Pope, data structures, automatic software generation, programming languages

Associate Professors
Vicki H. Allan, multi-agent systems, artificial intelligence, computer science education, pipelining program optimization
Stephen W. Clyde, software engineering, object orientation, distributed systems, database theory, multimedia systems
Curtis Dyreson, databases, data warehousing
Nicholas S. Flann, computational biology, medical modeling, machine intelligence applications
Minghui Jiang, design and analysis of algorithms, discrete and computational geometry, bioinformatics, computer biology
Vladimir Kulyukin, assistive technology, robotics
Xiaojun Qi, image processing, pattern recognition, computer vision, image retrieval, data mining
Daniel W. Watson, parallel and cluster computing, interconnection networks

Associate Professors Emeritus
Stephen J. Allan, parallel processing, parallel programming, recognition of parallelism, program optimization
Nelson T. Dinerstein, analysis and construction of information systems, database management systems, applications of small computers
Larre N. Egbert, scientific computing, computer graphics
Gregory W. Jones, theory of computing, software engineering

Assistant Professors
Amanda Hughes, human-computer interaction, software engineering, mobile technologies
Kyumin Lee, mobile computing, data analytics, large-scale networked information systems
Ming Li, computer security
Tung Nguyen, software engineering

Lecturer
Linda Duhadway, computer science education, programming languages, web application design and deployment, computer problem solving across disciplines, user interface, software engineering