Master of Science in Computer Science
The Master of Science in Computer Science (MSCS) offered by NDNU’s Department of Mathematics and Computer Science is designed for active professionals at the forefront of the greater Bay Area's information technology industry who wish to further their educational and professional goals. This is an applied graduate program degree and our emphasis is on software systems and web services with special attention to development, quality assurance, and testing. NDNU’s courses are geared for the working professional, each usually meeting for one evening per week.
The focus of the NDNU MSCS is on creating strong professional skills and developing hands-on experience with tools that are utilized in leading computer companies. The program also responds to the growing need of the industry for qualified professionals with technological experience and strong knowledge and skills in planning, managing, and implementing software-based applications. Our focus distinguishes the NDNU degree from other MSCS programs that concentrate on theoretical aspects of the field.
We focus on technology not as a separate goal, but rather as a set of tools that enables all of us to find easier solutions to problems in a complex society and work environment. Learning how to manage information in an efficient way will be one of the major challenges in the years to come. At NDNU we aim to develop highly skilled technology professionals who also understand and respond to social and community-related needs.
In general, graduates with an MS degree receive higher starting salaries and quicker advancement than students with BS degrees. Some companies prefer employees with MSCS degrees in IT-related jobs. The MS degree also qualifies graduates to be hired as faculty members at community colleges and four-year colleges, or to work as adjunct instructors at larger institutions of higher education.
Master of Science in Computer Science (MSCS)
Bachelor of Science in Computer Science or completion of these courses:
|CS030A/B||Foundations of Computer Science I and II|
|CS040||Data Structure and Abstraction|
|CS060||UNIX System Programming|
|CS177A||Web Programming I – Client Side|
|CS177B||Web Programming II – Server Side|
|CS183||Database Management Systems|
|MA122||Probability and Statistics|
| The MSCS program requires 10 courses comprising
|CS215||Quality Assurance and Testing||4|
|CS261||Advanced Object- and Service-oriented Technologies||4|
|CS277||XML Processing and Web Services||4|
|CS283||Advanced Database Systems||4|
|CS396A||Graduate Computer Science Project I||3|
|CS396B||Graduate Computer Science Project II||3|
Two courses shared with Business/Management graduate programs as follows:
|BA212||Legal and Ethical Dimensions of Business (3)|
|EB265||Business Process Management (3)|
|SY213||Organizational Theory and Learning (3)|
|SY217||Individual Actions and Team Dynamics (3)|
|SY218||Systems Management (3)|
|SY221||System Dynamics Modeling (3)|
|SY223||Sustainability: Local and Global Management (3)|
|SY225||Decision Support: Forecasting and Optimization (3)|
|SY231||Usability in Management Systems (3)|
|SY247||Enterprise Performance Management (3)|
|SY253||Supply Chain Management (3)|
|SY257||Project Management (3)|
|SY263||Managing Information Systems (3)|
|SY269||Global Management of Virtual Teams (3)|
|SY283||Innovation Strategies (3)|
|Two Computer Science courses from:||6|
|CS210||Analysis of Algorithms (3)|
|CS255||Computer Graphics (3)|
|CS291||Computer Networks (3)|
|CS292||Network Programming (3)|
|CS295||Special Topics in Computer Science (3)|
Computer Science Courses
CS210 Analysis of Algorithms (3) Spring
This course covers algorithm analysis/complexity, divide and conquer algorithms, searching and sorting algorithms, dynamic programming, Greedy approach, backtracking, complexity analysis for searching and sorting algorithms, P and NP classes of algorithms, and parallel algorithms. Special graduate work is required.
CS212 Legal and Ethical Dimensions of Business (3) Fall,
Cross-listed with BA212. See MBA listings for course description.
CS215 Quality Assurance and Testing (4) Fall '05
This course covers testing of software systems, software verification, symbolic execution, software debugging, quality assurance, measurement and prediction of software reliability, project management, software maintenance, software reuse, and reverse engineering.
CS218 Systems Management (3) Fall
Cross-listed with SY218. See MSM listings for course description.
CS231 Usability in Management Systems (3) Fall, Summer
Cross-listed with SY231. See MSM listings for course description.
CS255 Computer Graphics (3) Fall '06
Topics covered include graphics hardware, fundamental graphical algorithms, two and three dimensional representation, transformations, viewing parameters, hidden line/ surface removal, shading, intensity and color, animation techniques, splines, and surface creation. Special graduate work is required.
CS261 Advanced Object and Service Oriented Technologies
(4) Spring '05
This course concentrates on systems design and software engineering from the object-oriented perspective. Using an object-oriented approach with UML, students model real-world objects and build language-independent designs around these objects. Current development processes, such as the Capability Maturity Model (CMM), the Unified Software Development Process, Patterns, and Team Management are analyzed. Special consideration is given to the impact of the object-oriented paradigm on software development organizations.
CS277 XML Processing and Web Services (4) Fall
The main goal of this course is to develop understanding and skills that allow the XML professional to access, format, and manipulate XML data. The course provides in-depth knowledge in each of the core XML standards, including DOM, SAX, Xpath/Xpointer, XSLT, Xlink, and XML Schema. Students achieve hands-on experience with tools and techniques for processing XML and use of SOAP, WSDL, and UDDI to build Web services functionality.
CS283 Advanced Database Systems (4) Spring
Topics covered by this course include advanced SQL and SQL *Plus concepts and PL/SQL procedures, functions and packages, including extended statements to incorporate Set Operators, and building correlated sub queries and hierarchical queries. Students create and manage PL/SQL program units and database triggers as a basis for complex application development. Special consideration is given to database servers from the perspective of optimization and performance, focusing on techniques for improving data access and storage, emphasizing performance diagnosis and resolution using real-world scenarios. A Web database application is developed using Java/JDBC/Oracle and XML.
CS291 Computer Networks (3) Spring '06
This course concentrates on methodologies for interconnecting computers. Topics include: network architectures, topologies, and protocols and their associated algorithms plus local and wide area networks. Hardware and software aspects of layered approach to computer networks, LAN technology, and applications are included. Special graduate work is required.
CS292 Network Programming (3) Summer '05
The focus of this course is on the design and implementation of network-based applications and interaction with a variety of common servers. Topics include: processes, pipes, and signals, multithreading and synchronization, socket programming, TCP Protocol, use of common modules to perform file transfer (FTP), getting e-mail (POP), sending e-mail (SMTP), Telnet connection, Web clients, forking servers and daemons, performance, data integrity, and security. Special graduate work is required.
CS295 Special Topics in Computer Science (3) Summer '06
This course is designed to address evolving areas in computer science. Special graduate work is required.
CS396A/B Graduate Computer Science Project I – II
( 3+3) Spring, Summer
This is a capstone two-semester project sequence. Specific software engineering phases, software management and development tools, and quality assurance procedures are used in order to develop a complex software project.