The
ever-changing world of software and computer science has always demanded more
advanced training and education. With the University of San Francisco's prime
location in the heart of the San Francisco Bay Area and its proximity to
Silicon Valley, USF graduate students enjoy and environment rich with the many
innovations and opportunities of this world-renowned region of technology. For
these reasons and others the number of students in the graduate program in
Computer Science at the University of San Francisco has grown by 65% since
1999.The Master of Science in Computer Science (MSCS) provides students with a
broad background in software development and other core disciplines of computer
science. This core background serves as a sound foundation for CS graduate
students as they develop a substantial software project - either as a
research-driven or commercially sponsored project.Small classes and close
interaction with full-time faculty are a hallmark of graduate education at USF.
Along with the full-time teaching and research faculty, outside experts bring
real-world computing experience to the classroom. In the Harney Science Center
on the USF campus, a state-of-the-art computer and multimedia studio was
constructed and endowed with a $2.5 million gift from a Computer Science
alumnus. Students and faculty also maintain the W.M. Keck Computer Cluster (a
Myrinet-connected network of 28 processors which provides students with on-site
access to one of the most powerful computers at a liberal arts university).
Emphasis in Entrepreneurship
The United
States excels at entrepreneurship, and USF claims one of the top
entrepreneurial business schools in the nation. Ranked in the Top Tier of
University Entrepreneurship Programs by Entrepreneur magazine and in the Top 25
of "America's Most Entrepreneurial Campuses" by Forbes and Princeton
review - the M. S. in Computer Science Program has joined with USF's MBA
Entrepreneurship Program to offer the classic M.S. in Computer Science with an
emphasis in Entrepreneurship.
Admission Requirements
Admission
requirements for the graduate program include the GRE General scores (verbal
score not considered) and the following (USF course equivalents are in
parentheses:
· High-level Programming (CS 110 - C, C++, Scheme, ML, Java,
etc.)
· Object-oriented Programming (CS 112 - C++, Java)
· Low-level Assembly Language/Systerm Programming (CS 220/221
- Intel preferred)
· Calculus and Analytic Geometry (M 109 - differential &
integral; business calculus not accepted)
· Linear Algebra and Probability (M 201)
· Discrete Math (M 202)
· Algorithms on Data Structures (CS 245)
Foundation Requirements
The
foundation requirements are not required for admission to the graduate program,
but must be completed while at USF to achieve regular status as a graduate
student. These requirements are waived if they have been met by previous university-level
studies (including self-study) or work experience:
- CS 315 Computer Architecture (4)
- CS 326 Operating Systems (4)
- CS 414 Compilers (4) or both of the following:
- CS 345 Programming Language Paradigms (4) and
- CS 411 Automata Theory (4)
Curriculum and Degree Requirements
The program
involves the completion of 36 credits of credit. Graduate students undertake 9
courses, or 8 courses and a master's thesis (each course is 4 credits). Graduate
students who have not met the Foundation Requirements may need to complete
additional coursework at USF. The courses must be chosen as follows:
· One course from each of the three core areas
· One Master's Project
· Five electives from 200/300/400/600(One elective can be
200-level with permission of Graduate Advisor)(Two electives must be
600-level)Two electives may be used to satisfy foundational requirements or to
shore up areas of weakness.
Core Areas
Theory
and Languages (1 course)
- CS 652 Programming Languages (4)
- CS 673 Algorithms (4)
Systems
(1 course)
- CS 635 Advanced Systems Programming (4)
- CS 636 Operating Systems (4)
Parallel
and Distributed Computing (1 course)
- CS 625 Parallel and Distributed Computing (4)
- CS 682 Distributed Software Development (4)
Master's Project
The
Master's degree requires that all students undertake a Master's project. The
project can be either a sponsored project for a commercial concern or other
institution or a research project. In either case, the project will result in
the specification, design, and development of a significant software system
with full documentation, an oral presentation to the university community, and
a written report. The Master's Project is offered every semester.
Master's Thesis
The thesis
is not required and is reserved for exceptional students. It is not a
substitute for the Master's Project, and is normally a continuation of work
undertaken in a Master's Project.
Grade Requirements
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. Any semester in which the
students GPA drop below 3.0, those students are placed on probation. After a
second semester on probation, the university will move to dismiss them from the
program. Those students with fellowships must maintain a 3.3 GPA. At the close
of the semester in which the student's GPA drops below 3.3, that student immediately
loses any promised fellowship money.
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 intelligence,
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.