San Jose State University
College of Engineering
Computer Engineering Department

Home Page Information

Professor Weider D. Yu

Office:         ENG 283G

 [Office Hours: 14:30-17:00 (Tue) & 14:30-17:00 (Thur)

Phone:  (408) 924-7365

Fax:      (408) 924-4153


Home Page URL:

Mailing Address:   One Washington Square, San Jose, CA 95192-0180




Teaching and Research Interests              Current Focus Areas


(File updated on 01/25/12)


Computer Engineering (CmpE) 220
Systems Software  


Course Description:

Systems software overview, assemblers, macro processors, loaders and linkers, compilers, operating systems and embedded and real-time system software. Design system software projects.


                                                                        Fall 2002    CmpE 220 Course


Spring 2003    CmpE 220 Course                  Fall 2003    CmpE 220 Course


Spring 2004    CmpE 220 Course                  Fall 2004    CmpE 220 Course


Spring 2005    CmpE 220 Course                  Fall 2005    CmpE 220 Course


Spring 2006    CmpE 220 Course                  Fall 2006    CmpE 220 Course


Spring 2007    CmpE 220 Course                  Fall 2007    CmpE 220 Course


Spring 2008    CmpE 220 Course                  Fall 2008    CmpE 220 Course


Spring 2009    CmpE 220 Course                  Fall 2009    CmpE 220 Course


Spring 2010    CmpE 220 Course                        Fall 2010    CmpE 220 Course


Spring 2011    CmpE 220 Course                  Fall 2011    CmpE 220 Course


Spring 2012    CmpE 220 Course                 

Computer Engineering (CmpE) 227
Distributed Systems


Course Description:

Motivation for distributed systems, communications issues in distributed computing, design issues and alternative computing models: client server and remote procedure call. Real time and transaction processing (OLTP).


Spring 2004    CmpE 227 Course


Spring 2005    CmpE 227 Course


Spring 2006    CmpE 227 Course



Computer Engineering (CmpE) 272
Enterprise Software Overview


Course Description:

Introduction to enterprise software systems. Covers network operating system, enterprise security, DBMS, transaction monitors, groupware, distributed objects, system management and the Web. Covers standards such as J2EE, CORBA, SQL, JDBC, and HTTP; and emerging technologies.


Summer 2007    CmpE 272 Course


Summer 2008    CmpE 272 Course



Computer Engineering (CmpE) 285
Software Engineering Process

Course Description:

Software system development with emerging software engineering processes and technologies; planned and agile development processes, Service-Oriented Architecture (SOA) and Cloud Computing frameworks and processes; cloud-based, service-based, component-based, web-based, mobile-based, client-server based, event programming, wireless, user interface design (GUI), and server and mobile database access technologies.

Cloud Software Process, Agile Software Process, Wireless Mobile Software Development (e.g. Apple iPhone, iPad, Microsoft Windows Mobile 7, Android Phone), Distributed Service Oriented Software Computing Process, Service Oriented Architecture Software Development, SEI Personal Software Process (PSP), and A variety of software development process models (such as service based, agile based, component based, and traditional process models, such as CMMI. Security engineering topic is emphasized and discussed. Microsoft .NET, Google Android and Apple software architecture frameworks, GUI and IDE development platforms are introduced and used in designing class projects. Design software projects using modern disciplined software engineering and security engineering processes and tools.





                                                                        Fall 2005    CmpE 285 Course


Spring 2006    CmpE 285 Course                  Fall 2006    CmpE 285 Course


Spring 2007    CmpE 285 Course                  Fall 2007    CmpE 285 Course


Spring 2008    CmpE 285 Course                  Fall 2008    CmpE 285 Course


Spring 2009    CmpE 285 Course                        Fall 2009    CmpE 285 Course


Spring 2010    CmpE 285 Course                        Fall 2010    CmpE 285 Course


Spring 2011    CmpE 285 Course                        Fall 2011    CmpE 285 Course


Spring 2012    CmpE 285 Course




Computer Engineering (CmpE) 286
Advanced Software Systems


Course Description:

Object-oriented analysis/design methodologies, tools and measures. A software process maturity model (CMMI) is used to explain the evolution of software processes. Advanced systems, networks and architectures.


Fall 2003    CmpE 270 Course


Fall 2004    CmpE 286 Course




Computer Engineering (CmpE) 295/295AB/299
Computer Engineering Project or Thesis


Course Description:

Perform project and thesis work for various topics in the fields of Computer Engineering and Software Engineering under supervision. CmpE 295 (3 units), CmpE 295A&B (6 units), and CmpE299 (6 units).

A list of available topics is shown via the link: Current Focus Areas.  To make an appointment to talk to the advisor is required. A list of the projects and thesis titles recently completed by students is available via the link: Completed Projects and Thesis.








Computer Engineering (CmpE) 142/180-42

Software Engineering (SE) 180-42
Operating Systems Design


Course Description:

Overview: history, concepts, system calls and structures. Management of major components: processors, memory, input/output and files. Design systems calls and device drivers for hardware dependence. Concepts of kernel and shell, file protection and interactive computation.



Fall 2009     CmpE 142 Course




Computer Engineering (CmpE) 196I/189/137

Software Engineering (SE) 137
Mobile Software Engineering (Design and Implementation)


Course Description:

Mobility analysis, design engineering principles, techniques, and methods for mobile software planning, requirements, design, and testing on a variety of mobile and wireless Internet computing platform. Use advanced mobile computing devices (pocket and tablet PCs), Global Positioning System (GPS), Bluetooth, Infrared, Wi-Fi (Wireless Fidelity), and Radio Frequency Identification (RFID) in mobile system projects.



                                                                        Fall 2003     CmpE 189  Course


Spring 2004     CmpE 189 Course                 Fall 2004     CmpE 196I Course


Spring 2005     CmpE 189 Course                 Fall 2005     CmpE 189  Course


Spring 2006     CmpE/SE 137 Course                        Fall 2006     CmpE/SE 137 Course


Spring 2007     CmpE/SE 137 Course                        Fall 2007     CmpE/SE 137 Course


Spring 2008     CmpE/SE 137 Course                        Fall 2008     CmpE/SE 137 Course


Spring 2009     CmpE/SE 137 Course                        Fall 2009     CmpE/SE 137 Course


Spring 2012     CmpE/SE 137 Course                        Fall 2010     CmpE/SE 137 Course


                                                                        Fall 2011     CmpE/SE 137 Course



Computer Engineering (CmpE) 136
Information Engineering


Course Description:

Topics in Information Engineering: mobile software engineering, e-commerce, data warehousing and data mining, knowledge based system, expert system, client-server software engineering, and computer-aided software engineering.


Fall 2003      CmpE 136 Course                    


Computer Engineering (CmpE) 131

Software Engineering (SE) 131
Software Engineering I


Course Description:

Why software engineering? What is software engineering? Software development lifecycle activities: project planning and management requirements analysis, requirement specification. Software design, software testing, verification, validation, and documentation. Software quality assurance and review techniques, software maintenance, team-based projects.



Spring 2010     CmpE/SE 131 Course                Fall 2010     CmpE/SE 131 Course


Spring 2011     CmpE/SE 131 Course                Fall 2011     CmpE/SE 131 Course



Computer Engineering (CmpE) 195A

Software Engineering (SE) 195A
Senior Design Project I

Course Description:

Senior individual or group design projects. Proposal preparation with plans and specifications; oral and written reports; professional seminars.

                                                                            Fall 2008   CmpE/SE 195A Course
Spring 2009   CmpE/SE 195A Course

Computer Engineering (CmpE) 195B

Software Engineering (SE) 195B
Senior Design Project II

Course Description:

Constructions, testing, and evaluation of the design from CMPE/SE 195A culminating in demonstrations and written and oral presentations to faculty and peers.


                                                                            Fall 2008   CmpE/SE 195B Course
Spring 2009   CmpE/SE 195B Course