Apr 24, 2024  
2011-2012 General Catalog 
    
2011-2012 General Catalog ARCHIVED CATALOG: To search archives, MUST use search box to left. Current catalog: catalog.usu.edu.

Computer Science


Return to {$returnto_text} Return to: Academic Departments and Programs

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.

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. a. Data Structures and Algorithms
  2. b. Computer Architecture and Organization
  3. c. Programming Languages
  4. d. Operating Systems
  5. e. 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.

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.  These requirements can be found in the General Catalog at the following link: http://catalog.usu.edu/content.php?catoid=3&navoid=250

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 2420 , CS 2450 , CS 2810 , and CS 3000 ; MATH 1210 , MATH 1220 , and MATH 3310 .

Digital Systems Emphasis: CS 1400 , CS 1405 , CS 1410 , CS 2420 , CS 2450 , and CS 3000 ; ECE 2700 ; MATH 1210 , MATH 1220 , and MATH 3310 . 

Software Development Emphasis: CS 1400 , CS 1405 ,

 , CS 2420 , CS 2450 , CS 2810 , and CS 3000 ; MATH 1210 , MATH 1220 , and MATH 3310 .

Bioinformatics Emphasis: CS 1400 , CS 1405 , CS 1410 , CS 2420 , CS 2450 , CS 2810 , and CS 3000 ; MATH 1210 , MATH 1220 , and MATH 3310 .

Information Technology Emphasis: CS 1400 , CS 1405 , CS 1410 , CS 2420 , CS 2450 , CS 2810 , 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 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

A student will be 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 a student did 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
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
Christian Hammer, computer security
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
Dean Mathias, computer graphics, game development, massive virtual environments.

Return to {$returnto_text} Return to: Academic Departments and Programs