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.
Program Requirements
Master of Science in Computer Science (MSCS) |
||
| Prerequisites 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 | |
| CS185 | Software Engineering | |
| MA122 | Probability and Statistics | |
| MA119 | Discrete Mathematics | |
| The MSCS program requires 10 courses comprising
34 units. Core Courses |
Units | |
| 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 |
| Elective Courses: Two courses shared with Business/Management graduate programs as follows: |
6 | |
| 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) | |
| Total | 34 | |
Computer Science Courses
CS210 Analysis of Algorithms (3) Spring
'05
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,
Summer
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
'04
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
'06
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.
