Nov 30, 2024  
2010-2011 General Catalog 
    
2010-2011 General Catalog ARCHIVED CATALOG: To search archives, MUST use search box to left. Current catalog: catalog.usu.edu.

Computer Science


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

Associate Head and Coordinator for Graduate Programs in Computer Science:

Stephen J. Allan, Main 420, (435) 797-2587, steve.allan@usu.edu

Undergraduate Advisor:

Myra Cook, Main 424, (435) 797-8019, myra.cook@usu.edu

Degrees offered: Bachelor of Science (BS), Bachelor of Arts (BA), Master of Science (MS), and Doctor of Philosophy (PhD) in Computer Science; Master of Computer Science (MCS)

Undergraduate emphases: BS, BA—Science, Digital Systems, Software Development, Bioinformatics, Information Technology

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

Accreditation: The Computer Science undergraduate program (Science, Digital Systems, Bioinformatics, and Software Development emphases) is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012; telephone (410) 347-7700.

Undergraduate Programs

Objectives

The core objective of the department is to fulfill its mission, as defined in its mission statement. A detailed description of all department objectives is given under the department’s website: http://www.cs.usu.edu/. The outcome objectives for undergraduates are as follows.

Learning Objectives: Undergraduate Outcomes

All students graduating with a bachelor’s degree in Computer Science from Utah State University will be expected to show mastery in the following.

  1. Graduates will be proficient in programming in at least two programming languages that have significance in industry.
  2. Graduates will master the core curriculum in:
    1. Data Structures and Algorithms
    2. Computer Architecture and Organization
    3. Programming Languages
    4. Operating Systems
    5. Software Engineering
  3. Graduates will understand the practices and dynamics required to develop software, whether it be a single program or a major software product developed in a team environment.
  4. Graduates will gain proficiency in the use of mathematical tools, including calculus, elementary statistics, and probability.
  5. Graduates will have sufficient mastery of fundamental knowledge to be lifelong learners in computer science.
  6. Graduates will understand the social and ethical issues that face computer scientists, and thus be able to contribute in a positive and productive manner to society.
  7. Graduates will be able to communicate information effectively, both in writing and orally.

The course of study offered by the Department of Computer Science is directed primarily toward developing the problem-solving skills of its students. This, in conjunction with the understanding of computers and computer systems provided by coursework, will enable a graduate of the program to apply his or her knowledge to finding solutions to problems that arise in the science, business, industry, government, and education sectors.

Students who have the ability to think analytically and creatively will find a challenging and exciting future in computer science.

Opportunities for practical applications of computer science skills are available with members of the computer science faculty who are engaged in research and consultation work both on and off campus.

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.

Undergraduate Research

The Computer Science Department provides opportunities for undergraduates to participate in research projects. Additionally, a student may register for CS 4950  (Undergraduate Research, 1-4 credits) 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. For further information, contact Dan Watson, the department’s coordinator of undergraduate research, at (435) 797- 2440 or dan.watson@usu.edu.

Requirements

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.0 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. Students must maintain a minimum cumulative GPA of 2.0. 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. Students must attain a minimum grade of C- in all courses fulfilling Computer Science major requirements.
  3. Students may have no more than one 5000-level Computer Science course with a grade less than C- on their transcript.

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 can be found at: http://www.usu.edu/degreeplans/

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, see the major requirement sheet, available from the Computer Science Department, or online at: http://www.usu.edu/majorsheets/

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 640 on the quantitative test of the general GRE is required for admission to the MS, and a score of at least 700 is required for admission to the PhD or 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 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:

  1. Pass the placement exam in Algorithms and Data Structures, as well as two of the following five placement exams: Computer Architecture and Organization, Operating Systems, Automatic, Programming Languages/Compilers, and Software Engineering.
     
  2. Complete CS 2420  (algorithms and data structures) and CS 5050  (advanced algorithms) with a grade of at least B-. Also complete with a grade of at least B- two of the following courses: CS 2810  or ECE 5750  (architecture); CS 3100  (operating systems); CS 4700  or CS 5300  (programming languages); and CS 2450 .
     
  3. Show on an official transcript from an accredited college or university the completion of three courses deemed by the department to be equivalent to its placement courses. These must be semester-based courses of at least 3 credits, and the corresponding grade must be at least a B-.

Financial Assistance

Applicants for admission will automatically be considered for financial aid, with no need for additional application procedures. Continuing students will be requested to apply for aid during the spring semester. Acceptance into the program does not guarantee financial assistance.

Computer Science Faculty

Professors
Scott R. Cannon, parallel processing, real-time systems, space flight software systems applications
Heng-Da Cheng, image processing, artificial intelligence, parallel processing, computer vision, fuzzy logic, VLSI algorithms and architectures, neural networks
Donald H. Cooley, evolutionary algorithms, neural networks, multimedia systems

Professor Emeritus
Wendell L. Pope, data structures, automatic software generation, programming languages

Associate Professors
Stephen J. Allan, parallel processing, parallel programming, recognition of parallelism, program optimization
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
Nicholas S. Flann, computational biology, medical modeling, machine intelligence applications
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
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
Daniel Bryce, artificial intelligence, systems biology
Renee Bryce, software testing
Curtis Dyreson, databases, data warehousing
Minghui Jiang, design and analysis of algorithms, discrete and computational geometry, bioinformatics, computer biology
Chad D. Mano, computer security
Changhui Yan, bioinformatics, data mining, machine learning, computational biology

Lecturers
Linda Duhadway, computer science education, programming languages, web application design and deployment, computer problem solving across disciplines, user interface, software engineering
Dean Mathias, computer graphics, game development, massive virtual environments.