George Hamer, Interim Department Head
Department of Electrical Engineering and Computer Science
Daktronics Engineering Hall 214
Computer Scientists play key roles in many walks of life in today’s society. Graduates of the program work in many different areas such as; application programmer, network designer, database administrator, information technologist, game development, and many others. CS related jobs are among the ten fastest growing careers that show a lot of promise and opportunity for growth.
Majors complete a core of basic computer science courses that includes the study of programming and algorithms, data structures, database concepts, computer architecture and organization, programming languages, compilers, operating systems, and software engineering. Important courses in closely related fields, e.g., discrete mathematics, digital logic design, scientific computation, and probability and statistics are also taken. Computer Science students are required to study all aspects of computing, including hardware, software, and theory.
The program begins the first year developing a strong foundation in programming, mathematics, and communication. Following this is another year of study in data structures and object oriented programming along with hardware-based courses that provides the student with a firm grasp of the interaction between hardware and software. The junior and senior years include courses that cover the breadth and depth of the field. Students will select a specialization and take technical electives in their chosen area. The capstone of the program is Senior Design I and II, a two-semester sequence taken in the senior year that places every student on a team that designs, builds, tests, and demonstrates a significant computer science/software engineering project. The projects are developed in collaboration with SDSU researchers or industry and provide students’ valuable “real world” team design experience.
Student Learning Outcomes
The program will enable students to attain, by the time of graduation:
- An ability to apply knowledge of computing and mathematics appropriate to the program’s student outcomes and to the discipline.
- An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
- An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
- An ability to function effectively on teams to accomplish a common goal.
- An understanding of professional, ethical, legal, security and social issues and responsibilities.
- An ability to communicate effectively with a range of audiences.
- An ability to analyze the local and global impact of computing on individuals, organizations, and society.
- Recognition of the need for and the ability to engage in continuing professional development.
- An ability to use current techniques, skills, and tools necessary for computing practice.
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
- An ability to apply design and development principles in the construction of software systems of varying complexity.
Computer Science students must pass all CSC and SE courses with a grade of C or better. All graduating seniors are required to take the Major Field Test in Computer Science, which is given once per semester.
Accreditation, Licensure, and Certification
The B.S. program in Computer Science is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.
Course Delivery Format
A majority of the courses are taught on campus in smart classrooms. The smart classrooms allow for a variety of methods for student engagement and faculty are able to record and post their lectures on-line.