The mission of the Computer Science Department is to prepare students for careers as software professionals and for advanced studies in Computer Science. We develop and work with a range of technologies to build systems and applications that help solve today’s problems, and share skills and knowledge with the community.
We are committed to providing the opportunity to master the computer science discipline to students from all backgrounds. Our program combines strong fundamentals, project- and team- oriented activities, and soft skills, leading to a well-rounded professional education.
Objectives of the BS Program in Computer Science
Students will be able to design, develop, document, and test software using current techniques. This translates to the following outcomes; students will be able to:
- Write programs utilizing modern software tools.
- Apply object oriented programming principles effectively when developing small to medium sized projects.
- Write effective procedural code to solve small to medium sized problems.
- Write software that manages system resources.
Students will understand the fundamentals of computer architecture and computing theory. This translates to the following outcomes. Students will be able to:
- Translate simple C/C++ code to assembly language.
- Understand/extend simple CPU implementation.
- Write SW that manages system resources.
- Apply a variety of fundamental algorithm design techniques to computational problems.
- Assess relative time and space complexities of algorithmic solutions and find the sources of possible improvement.
Students will be able to solve problems working in group settings. This translates to the following outcomes. Students will demonstrate:
- Knowledge of basic SW engineering methods and practices, and their appropriate application.
- Knowledge and application of collaborative tools for SW development.
- Successful implementation of teamwork behavior and policies in a large class project.
Students will demonstrate the ability to give presentations and write technical reports. This translates to the following outcomes. Students will:
- Demonstrate adequate oral presentation delivery.
- Provide adequate oral presentation content.
- Observe presentation time limitations.
- Provide adequate written technical content.
- Demonstrate adequate written organization.
- Observe good practice with regard to spelling and grammar.
Students will demonstrate understanding of the importance of social and ethical issues related to the profession. This translates to the following outcomes. Students will:
- Understand privacy issues for personal data.
- Understand and appropriately apply copyright, licensing and digital rights management polices.
- Understand and adhere to SFSU cheating and plagiarism policies.
Additional Objectives of the MS Program in Computer Science
- Students will demonstrate in-depth knowledge in one of the offered concentration areas.
- Students will demonstrate a breadth of knowledge in computer science, as exemplified in the areas of systems, theory and software development.
- Students will demonstrate ability to conduct a research or applied Computer Science project, requiring writing and presentation skills which exemplify scholarly style in computer science.