
Master of Science in Computer Science
The curriculum is oriented toward software development. Students have the opportunity to explore specialized areas of computer science that include parallel computing, programming languages, web development, low-level processor and device programming, artificial intelligence, computer networks, databases, and computer graphics. Hand-on experience is facilitated through the department's state-of-the-art laboratories, its new multimedia studio classroom, and a 128-processor parallel computing cluster.
Foundational Requirements
Students without a Bachelor's degree in Computer Science must complete the following foundational requirements:
- CS - 110 Introduction to Computer Science I
- CS - 112 Introduction to Computer Science II
- CS - 210 Assembly Language and Systems Programming
- CS - 245 Data Structures and Algorithms
- CS - 315 Computer Architecture
- CS - 326 Operating Systems
- CS - 345 Programming Language Paradigms
- CS - 411 Automata Theory
- CS - 414 Compilers
- MATH - 109 Calculus and Analytic Geometry I
- MATH - 201 Discrete Mathematics
- MATH - 202 Linear Algebra and Probability
Experience and Background Essay
The general "statement of purpose" essay required by other graduate programs at USF is not required. Instead, you are strongly urged to write a Computer Science Experience and Background Essay, which you should submit electronically via:
http://www.cs.usfca.edu/essay.shtml
You must submit an essay to be considered for a fellowship.
Prerequisites
Each applicant for the Master in Computer Science program must submit a completed application that includes an official transcript of all undergraduate and graduate courses that he or she has taken.
An applicant's undergraduate grade point average (GPA) must have been at least B- (2.7 on a scale of 0.0 to 4.0) in all upper-division courses, and at least B (3.0) in upper-division courses in the applicant's major field. Upper-division courses are advanced courses normally taken in the last two years of a four-year undergraduate program.
For an applicant who is not a U.S. citizen or permanent resident, eligibility for admission to graduate studies in Computer Science or Internet Engineering at USF also takes into account the applicant's TOEFL score. The TOEFL score is considered along with the other required application items. A minimum TOEFL score of 530 (Paper Test) or 197 (Computer-Based Test) is required. After review of an application, coursework in USF's Intensive English Program may be recommended or required.
Requirements
Regular Graduate Students must pass 36 units, either 9 courses, or 8 courses and a Master's thesis. Regular Graduate Students ordinarily complete their M.S. degree in two years. The courses must be chosen as follows:
- Software development courses:
- CS - 652 Programming Languages
- CS - 662 Artificial Intelligence Programming
- CS - 673 Algorithms
- CS - 682 Distributed Software Development
- Concurrent computing and networking. A student must complete one of the following three courses:
- CS - 620 Network Design
- CS - 621 Network Programming
- CS - 625 Parallel and Distributed Computing
- The software/hardware interface. A student must complete two of the following three courses:
- CS - 615 Computer Architecture
- CS - 635 Advanced Systems Programming
- CS - 636 Operating Systems
- Electives. A student must complete eight units of electives. They may be chosen from any of the computer science graduate or approved senior-level undergraduate courses. With the permission of the Graduate Program Coordinator, some of these units may be directed study or transfer of graduate coursework in computer science taken after the Bachelor's degree and not applied to any other earned graduate degree.
To be acceptable for the M.S. degree, each course must be selected with the approval of the Graduate Program Coordinator and must be passed with a grade of C (2.0) or better. Moreover, the average grade of all courses taken to fulfill the M.S. degree requirements must be B (3.0) or better.
The thesis option is reserved for exceptional students; it is not required. The following procedure must be completed by students who choose the thesis option:
- The student must choose a thesis committee consisting of an advisor and two additional faculty members. With the approval of the Graduate Program Coordinator, one of the committee members may be chosen from outside the department. N.B., no faculty member is obliged to serve on any student's committee.
- By the start of the student's second year, the student must submit a written thesis proposal to his or her committee.
- In order to continue with the thesis option, the student must obtain the committee's approval of his or her thesis proposal by the end of his or her third semester.
- The student must enroll in four units of CS 699 (Master's Thesis) and can substitute those four units for one of the general elective courses. This course is ordinarily taken in the student's fourth semester.
- In order to complete the thesis option, the student must complete the thesis and obtain the approval of his or her committee within 24 months of obtaining approval for the proposal.
The thesis is not a substitute for the Master's project. The thesis is normally a continuation of work begun in a Master's Project.
Learning Goals/Outcomes for the Master of Science in Computer Science
Students who complete the Masters of Science in Computer Science will be able to demonstrate:
- An understanding of advanced topics in computer science including software engineering, algorithms, artificial intellignece, programming languages, parallel computing, networking, and low-level systems;
- The ability to design, implement, and debug large-scale software applications;
- The ability to evaluate and understand advanced research from computer science literature;
- Effective communication and team participation skills with respect to software development.

University of San Francisco
http://www.usfca.edu
2130 Fulton Street
San Francisco, CA 94117-1080