The Computer Engineering and Computer Science Departments are jointly offering a BS degree program in Software Engineering. The mission of the Software Engineering program is to be the leading provider of high quality, practice-oriented software engineering graduates to Northern California, and to enhance engineering knowledge through research and scholarship. The graduates of the program will be skilled in the analysis, design, implementation and deployment of software systems. Graduates will be able to apply these skills to satisfy the requirement of a specific application.
Every student is assigned to a faculty advisor. The program expects every student to consult regularly with their advisors and to obtain the advisor's approval and signature on all required registration forms. Undergraduate transfer students have a special responsibility to obtain approval of transfer credits with the assistance of their advisor during their first semester at San José State University.
The role of program coordinator will alternate between these two departments every three years; the program office and support will be provided by the current program coordinator's home department.
BS Software Engineering
The program prepares students to enter the profession immediately or to go on to graduate school.
The goal of the BS program in Software Engineering is the preparation of software engineers: professionals who develop software products on time, within budget and that meet customer requirements. The course work builds on computer science fundamentals and mathematical principles to cover the design, analysis, verification, validation, implementation, deployment, and maintenance of software systems. The program focuses on practical aspects of building and deploying real software systems in a socially responsible way.
The hallmark of the program provides the students with an educational experience that builds on traditional computer science and engineering, but distinguishing itself in the following ways:
- Courses emphasize the team approach to building software and provide leadership opportunities for every student.
- Courses place an emphasis on software processes and lifecycles.
- Courses include significant learning in management areas such as project planning, resource allocation, quality assurance, testing, metrics, maintenance, configuration management and personnel management.
- A degree that has a stronger emphasis on mathematics and use of engineering methods in software design.
The software engineering curriculum culminates in a year-long capstone sequence where the students work in teams to build a large software system. Students are encouraged to complete a co-operative education experience prior to enrollment in these courses, in order to gain some direct, industrial experience before embarking upon their own project.
A few years after graduation, we expect the students of this program to:
1. Be engaged in successful professional practice in their chosen discipline.
2. Demonstrate personal and professional leadership in their workplace and their community.
3. Demonstrate effective communication in an engineering environment.
4. Utilize formal and informal learning opportunities to maintain and enhance technical and professional growth.
The software industry increasingly requires those with a suitable software engineering background for their cutting edge projects. Graduates with a BS in Software Engineering can expect to find significant opportunities in software development, management, and marketing.
A wide variety of computing equipment is available. Courses are usually conducted using the specialized equipment at the departments, with a variety of sophisticated workstations and state-of-the-art software engineering tools. Students are required to have a laptop with wireless capability.
Freshmen should choose their major when they apply for admission. However, the software engineering program is designed to be flexible for those students who might want to refocus their efforts after beginning in another program. To that end, lower division Software Engineering is quite similar to the Computer Science and Computer Engineering programs.
All College of Engineering undergraduate Majors are required to maintain a Major GPA of 2.0 or above. Major GPA includes all courses required for the major, including math, science and engineering.
Note: Students should periodically review the B.S. Software Engineering Student Guide on the web site or obtain the B.S. Software Engineering Student Guide booklet for the latest information regarding the B.S. in Software Engineering Program.