Master of Science in Computer Science

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:

  • Three Core Courses
  • One Masters Project
  • Five Electives from 200/300/400/600
    • One can be 200 with permission of Graduate Advisor
    • Two must be 600
    • Two electives may be used to satisfy foundational requirements or to shore up areas of weakness.

 MSCS students take one course from each of the core areas: 

  • Theory and Languages (1 course):
    • CS 652 Programming Language Principles (4)
    • CS 673 Algorithms (4)
  • Systems (1 Course)
    • CS 635 Advanced Systems Programming
    • CS 636 Operating Systems
  • 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.

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.

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.