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

Computer Science


Interim 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, Main 424, (435) 797-8019, 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, Information Technology

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 (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. 

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.  

Science Emphasis

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

1.      Be successful as practicing professionals in diverse career paths or in graduate school.

2.      Be able to apply the principles of computer science, mathematics, and scientific investigation to solve real world problems appropriate to the discipline.

3.      Be effective communicators and team members.

4.      Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.

 Digital Systems Emphasis

The Utah State University Computer Science program, Digital Systems Emphasis will prepare its graduates to:

1.      Be successful as practicing professionals in diverse career paths or in graduate school.

2.      Be able to apply their knowledge of both computer software and hardware to perform effectively in their chosen profession.

3.      Be effective communicators and team members.

4.      Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.

 Software Development Emphasis

The Utah State University Computer Science program, Software Development Emphasis will prepare its graduates to:

1.      Be successful as practicing professionals in diverse career paths or in graduate school.

2.      Be able to apply the principles of computer science to the design and development of software systems.

3.      Be effective communicators and team members.

4.      Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.

 Bioinformatics Emphasis

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

1.      Be successful as practicing professionals in diverse career paths or in graduate school.

2.      Be able to apply the principles of computer science, mathematics, and scientific investigation to solve problems in the biological and medical sciences.

3.      Be effective communicators and team members.

4.      Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.

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, Bioinformatics, and Information Technology. 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.

The Information Technology Emphasis (IT) trains students in all phases of analysis, design, and implementation of information technology. It also gives students expertise in the theory and application of information technology. At the same time, this emphasis provides students with a strong background in business principles, including accounting, finance, marketing, and human resource management. Students in the Information Technology emphasis are prepared for careers that straddle information technology and business, in both the private and public sectors. Students are trained in all phases of the analysis, design, and implementation of information systems. They also gain an understanding of business fundamentals. Thus, students are prepared to apply their computing expertise in a business environment. 

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  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 Dr. Dan Bryce, the department’s coordinator of undergraduate research, at (435) 797- 2440 or daniel.bryce@usu.edu.

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.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. 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. 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.0 and a minimum GPA of 2.0 (or 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 ; ECE 2700 ; 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 

Information Technology Emphasis: CS 1400 , CS 1405 , CS 1410 , CS 2410  or CS 2412 , CS 2420 , CS 2610  or CS 2612  and CS 3000 ; MATH 1100 

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

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
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
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
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
Ming Li, computer security

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