Document: DOC B
COMPUTER SCIENCE
Watkins Hall, Room 103 (507-457-5385)
http://cs.winona.edu
Narayan C. Debnath (Chairperson)
FACULTY
Nicole Anderson, Assistant Professor; B.S., M.S., University of Iowa; Ph.D., University of Utah; 2008 –
Gary Bunce, Professor; B.S., North Dakota State University; M.A., Ph.D., University of New Mexico; 1971 –
Gerald W. Cichanowski, Professor; B.A., Winona State University; M.S., University of Minnesota; Ph.D., Michigan State University; 1983 –
Narayan Debnath, Professor; B.S., M.Phil., Calcutta University; M.S., Visva Bharati University; M.S., East Carolina University; M.S., Ohio State University; Ph.D., D.Sc., Jadavpur University; 1989 –
Joan Francioni, Professor; B.S., University of New Orleans; M.S., Ph.D., Florida State University; 1998 –
Tim Gegg-Harrison, Professor; B.A., University of Missouri-Columbia; M.S., Ohio State University; Ph.D., Duke University; 1992 -
Sudharsan Iyengar, Professor; B.E., Burdwan University; M.S., Ph.D., Louisiana State University and A & M College; 1989 –
Chi-Cheng Lin, Professor; B.S., National Chiao-Tung University; M.S., University of Minnesota-Duluth; Ph.D., University of Pittsburgh; 1997 –
Paul Schumacher, Associate Professor; B.A., M.Ed., St. Mary's College of Minnesota; M.A.T., Stanford University; 1988 –
Mingrui Zhang, Professor, B.S.E.E., Beijing University; M.S.C.S., Ph.D., University of South Florida; 1999 –
PURPOSE
The rapid spread of computers and information technology continues to generate a need for highly trained workers to design and develop new hardware and software systems and to incorporate new technologies into existing systems. According to the U.S. Bureau of Labor Statistics, employment opportunities for “computer specialists is expected to grow much faster than the average for all occupations as organizations continue to adopt and integrate increasingly sophisticated technologies.” The Bureau also points out that rapidly changing technology requires an increasing level of skill and education on the part of employees. In addition to technical knowledge, companies want professionals who have communication and other interpersonal skills and can adapt their problem solving skills to different situations.
The Computer Science program at WSU is designed to prepare students in exactly these ways. As such, our majors take courses to develop not only their programming skills and technical knowledge, but also their communication and critical thinking skills. Students are also given opportunities, both inside and outside the classroom, to apply their knowledge to real-world problems. Through service-learning, independent research projects, and internships, they also have the opportunity to work one-on-one with faculty in specialized areas, such as digital image processing, computer assistive technology, game technology, embedded systems, database design, web programming, software engineering, and networking. By combining these opportunities, the department is able to prepare students for long-term success in the computer science field.
COMPUTER SCIENCE MAJOR
Computer science majors choose between two options: Computer Science (CS) and Applied Computer Science (ACS). Both options require a common core set of courses designed to give students a fundamental understanding of both theoretical and applied computer science. Upper-level courses within each option build on these concepts to provide depth in particular areas. As such, all computer science majors are prepared for computer science careers and, if they desire, further graduate study in computer-related fields.
The Computer Science (CS) option allows students to study the technical and theoretical aspects of computer science and software development in depth. The Applied Computer Science (ACS) option allows students to study computer science concepts in the context of an applied area. Students choose a specific emphasis in this option and, in addition to the core, take courses in an applied area. The department offers three emphases areas: Bioinformatics, Computer Information Systems, and Human Computer Interaction.
§ Bioinformatics is the study of using computational tools and computer technologies to model, analyze, store, retrieve, manage, present, and visualize biological data. Primarily, the data to be processed are huge amounts of molecular biology data such as DNA sequences and proteins.
§ Computer Information Systems involves the study of business-related processes and software. An integral component of this track is web programming-both client-side and server-side technologies, and also component-based reusable software architectures. These topics are important in the development of software to support E-business applications.
§ Human Computer Interaction is an interdisciplinary field that attempts to understand the tendencies and limitations of humans in order to design and develop effective software that is user-friendly. As such, a successful HCI computer scientist must be well-versed in both computer science and psychology.
SCHEDULING RECOMMENDATIONS
A student who is interested in becoming a computer science major should ask to be assigned an advisor as soon as possible. All prospective and current computer science majors, including incoming first-year and transfer students, should consult a computer science advisor before registering.
GRADUATION REQUIREMENTS
For a checklist of the University's graduation requirements, refer to the WSU Undergraduate Catalog. Specific requirements for Computer Science majors/minors are as follows:
- Students must have an overall GPA of at least 2.50. The cumulative GPA for all computer science major and minor requirements and electives must be at least 2.50, and each course (except CS 491) must be completed with a grade of "C" or better.
- At least 18 credit hours of 300- and 400-level CS courses, with at least 12 credit hours beyond the Computer Science core requirements, must be earned from WSU. Courses taken through the Minnesota State University Common Market Program do not satisfy this requirement.
GRADUATION WITH HONORS
For graduation with honors in computer science, a student must:
- Complete one of the following majors: Computer Science Option or Applied Computer Science Option
- Have an overall GPA of 3.0
- Have a WSU computer science GPA of 3.25
- Complete an honors project or thesis
The student may either take CS 495 to develop an honors thesis or work independently with an advisor. In the latter case, the student must find a second reader for the project/thesis. Advisors and readers must be regular WSU faculty members unless a waiver is obtained from the department. With the advisor or as part of CS 495, the student prepares and submits a proposal; upon approval, the completed project/thesis is presented to the department. A copy of the project/thesis must be submitted to the department library.
REPEATED COURSE POLICY
Students are allowed to attempt a particular computer science course no more than three times. For the purpose of this policy, an “attempt” occurs each time a student's name appears on the final grade roster for a course.
PREREQUISITES
The prerequisites for computer science courses must be met with a “C” grade or better. Students who register for a course, but who have not met the prerequisites with a grade of “C” or better before the course begins, must drop the course.
PASS/NO CREDIT (P/NC) COURSES
Except for CS 491 (Practicum in Computer Science), students must take all courses for the major/minor on a grade-only basis. The P/NC option is available to non-majors unless otherwise noted. Courses offered on a pass/no credit-only or grade-only basis are so designated in the course descriptions.
WSU-ROCHESTER
Some of the department's majors and the minor are available through the 2+2 Program at WSU-Rochester. Program articulations appear in the “WSU-Rochester” section:
2+2 Computer Information Systems (Refer to WSU Undergraduate catalog)
2+2 Computer Science (Refer to WSU Undergraduate catalog)
2+2 Computer Science - Bioinformatics (Refer to WSU Undergraduate catalog)
COMPUTER SCIENCE PRACTICUM
WSU's computer science practicum provides computer science majors with experience in a non-academic setting. It is intended to serve as an introduction to an application environment as well as to solidify many of the concepts learned in the classroom. For these reasons, it is to be taken only by students who are nearing the end of their program of study and who have little or no previous work experience. For those students who are currently employed, the practicum must provide them with work experience that is substantially different from any previous or current work experience. Students must apply for the practicum and be approved before beginning the work experience in order to receive credit for the practicum.
GENERAL EDUCATION PROGRAM (GEP) INTENSIVE REQUIREMENTS
Students may use Intensive courses to satisfy both General Education Program and major requirements. Intensive courses will usually be in the student's major or minor program. The Department of Computer Science offers the following intensive courses in the General Education Program (GEP):
INTENSIVES
Oral (O)
CS 411 Software Testing (3)
CS 471 Object Oriented Design and Development (3)
Math/Stat or Critical Analysis (M)
CS 341 Data Structures (4)
Writing (W)
CS 385 Applied Database Management Systems (3)
CS 410 Software Engineering (3)
CS 495 Computer Science Research Seminar (3)
Computer science majors will satisfy all of the General Education Program (GEP) intensive course requirements.
B.S. MAJOR - COMPUTER SCIENCE
68-69 S.H. (No Minor Required)
COMPUTER SCIENCE CORE- Required for ALL Options (35 S.H.)
CS 234 Algorithms and Problem Solving I (4)
CS 250 Algorithms and Problem Solving II (4)
CS 275 Mathematical Foundations of Algorithms (4)
CS 313 Networking and Telecommunications (3)
M CS 341 Data Structures (4)
CS 375 Computer Systems (4)
W CS 385 Applied Database Management Systems (3)
W CS 410 Software Engineering (3)
O CS 471 Object Oriented Design and Development (3)
STAT 210 Statistics (3)
COMPUTER SCIENCE ELECTIVES - Available to ALL Options
CS 344 Introduction to Web Programming (3)
CS 345 Mobile Application Development (3)
CS 366 Topics in Emerging Technologies (1-3)
CS 368 Introduction to Bioinformatics (4)
CS 369 Spatial Information Processing (3)
CS 405 Operating Systems (3)
O CS 411 Software Testing (3)
CS 413 Advanced Networking and Telecommunications (3)
CS 415 Principles of Programming Languages (3)
CS 420 Computer Architecture (3)
CS 423 Computer and Network Security (3)
CS 425 Numerical Analysis (4)
CS 430 Computer Graphics (3)
CS 433 Digital Image Processing (3)
CS 435 Theory of Computation (3)
CS 440 Theory of Algorithms (3)
CS 444 Human Computer Interaction (3)
CS 445 Artificial Intelligence (3)
CS 450 Compilers (3)
CS 465 Topics: Computing Theory (1-3)
CS 466 Topics: General Computing Applications (1-3)
CS 467 Topics: Information Systems Applications (1-3)
CS 468 Algorithms in Bioinformatics (3)
CS 469 Algorithms in Geographic Information Technology (3)
CS 472 Reusable Software Architectures (3)
CS 476 Distributed System: Concepts and Design (3)
CS 482 Internet/Web Architecture and Development (3)
CS 485 Database Systems Design (3)
CS 491 Practicum in Computer Science (6) ‡
W CS 495 Computer Science Research Seminar (3)
PHYS 332 Computer Organization (2)
PHYS 333 Microprocessor Electronics (4)
‡ Only 3 credits may be applied to the major or minor.
COMPUTER SCIENCE OPTION (CSCS) REQUIREMENTS
34 S.H. in addition to core requirements above (No Minor Required)
REQUIRED COURSES (13 S.H.)
CS 405 Operating Systems (3)
CS 415 Principles of Programming Languages (3)
CS 435 Theory of Computation (3)
MATH 160 Calculus I (4)
ELECTIVES (21 S.H.)
§ Choose from list of “Computer Science Electives” above except for CS 405, CS 415, and CS 435
GRADUATE SCHOOL RECOMMENDATIONS:
Students who wish to attend graduate school in computer science should complete the following:
§ CS 495 at least one semester before graduation
§ Additional mathematics and/or statistics courses, including MATH 165
APPLIED COMPUTER SCIENCE OPTION (CSAC) REQUIREMENTS
33-34 S.H. in addition to core requirements above (No Minor Required)
REQUIRED COURSES (12 S.H.)
CS 344 Web Programming (3)
CS 444 Human Computer Interaction (3)
CS 485 Advanced Database Systems (3)
MATH 140 Applied Calculus (3)
ELECTIVES (6 S.H.)
· Choose from list of “Computer Science Electives” above
ACS EMPHASIS (15-16 S.H.)
· Choose one of the following three Emphasis areas
BIOINFORMATICS EMPHASIS (16 S.H.)
CS 368 Introduction to Bioinformatics (4)
BIOL 241 Basics of Life (4)
BIOL 242 Organismal Diversity (4)
M BIOL 310 Genetics (3)
General Education Program (GEP) Required Courses (1† S.H.)
*CHEM 212 Principles of Chemistry I (4) [GEP: Goal 3]
*CHEM 213 Principles of Chemistry II (4) [GEP: Goal 3]
† 7 S.H. count as GEP requirements and are not counted as part of the major.
*“additional requirements” course as defined in Item 3, page 18
OR
COMPUTER INFORMATION SYSTEMS EMPHASIS (15 S.H.)
ACCT 211 Financial Accounting Principles (3)
ACCT 212 Managerial Accounting Principles (3)
300-level course from the College of Business (3)
CS Electives 6 S.H.; at least 3 S.H. at the 400-level
General Education Program (GEP) Required Courses (0† S.H.)
*ECON 201 Principles of Microeconomics (3) [GEP: Goal 5]
*ECON 202 Principles of Macroeconomics (3) [GEP: Goal 5]
† 6 S.H. count as GEP requirements and are not counted as part of the major.
*“additional requirements” course as defined in Item 3, page 18
OR
HUMAN COMPUTER INTERACTION EMPHASIS (15 S.H.)
PSY 335 Human Factors Psychology (3)
PSY 369 Cognitive Psychology (3)
PSY 410 Sensation and Perception (3)
CS or Graphic Design Electives 6 S.H.; at most 3 S.H. from Graphic Design
General Education Program (GEP) Required Courses (0† S.H.)
*PSY 210 Introduction to Psychological Science (3) [GEP: Goal 5]
†3 S.H. count as GEP requirements and are not counted as part of the major.
*“additional requirements” course as defined in Item 3, page 18
GRADUATE SCHOOL RECOMMENDATIONS:
- Students who intend to go to graduate school in computer science will need to complete both of the following:
§ MATH 160 and MATH 165 in place of (or in addition to) MATH 140
§ CS 405, CS 415, and CS 435 (these may count as the electives for the ACS Option)
- It is also recommended that students who intend to study in a bioinformatics graduate program take more biology and chemistry courses, such as BIOL 308, BIOL 430, and CHEM 351 in their open electives.
B.S. MINOR - COMPUTER SCIENCE (COMS)
26 S.H.
The Computer Science minor is designed to provide students with a solid understanding of computer science. Students will gain the knowledge and skills to apply computer programming techniques to their major field of study. The courses included in the Computer Science minor are the introductory programming sequence for CS majors along with mathematics and upper-level computer science major elective courses.
REQUIRED COURSES (11 S.H.)
Choose one of the following two courses**:
CS 130 Introduction to Computer Application Development (3) [GEP: Goal 10]