Computer and Information Science
Effective Fall 2007 (New Students Only)
CIS Courses I Technology Competency Courses
.
The Department of Mathematics and Computer Science offers a Bachelor of Science in Computer and Information Science with emphases in Software Engineering, Bioinformatics, Management Information Systems, and Technical Writing; and a minor in Computer and Information Science. The Department also offers a Certificate in Web Programming with Java which is available to all NDNU undergraduates. Students pursuing a degree in Computer & Information Science may obtain this Certificate with no additional courses by selecting electives within the major that satisfy the requirements.
The Computer and Information Science major provides sound preparation for a career as a computer professional or for graduate study.
The major is available to both day and evening students. Evening students who qualify as intensive students may take intensive courses to satisfy their Core Curriculum requirements.
An interdisciplinary minor in Web Design is also available, combining courses from Art, Communication, and Computer & Information Science. For general information on Interdisciplinary Minors, see Undergraduate Academic Information.
Based on the student’s career needs the Computer and Information Science major offers the following four concentrations:
- SOFTWARE ENGINEERING (SE)
- BIOINFORMATICS (BI)
- MANAGEMENT INFORMATION SYSTEMS (MIS)
- TECHNICAL WRITING (TW)
Bachelor of Science: Computer and Information Science
In addition to major requirements, students must meet Core Curriculum Requirements and General Degree Requirements
Prerequisites |
Concentration |
||||
SE |
BI |
MIS |
TW |
||
Course Number |
Course Name |
Units |
Units |
Units |
Units |
BY001A |
General Biology |
4 |
|||
CH002A |
General Chemistry |
4 |
|||
CS008 |
Introduction to Computer & Information Systems |
3 |
3 |
||
CS030 |
Foundations of Computer Science |
4 |
4 |
4 |
4 |
CS030L |
Programming Laboratory (recommended) |
(1) |
(1) |
(1) |
(1) |
CS040 |
Data Structure and Abstraction |
4 |
4 |
4 |
4 |
GB001 |
American Business: Foundations and Practices |
3 |
3 |
||
MA014 |
College Algebra |
3 |
3 |
||
MA020A/B |
Calculus I and II |
8 |
8 |
||
MA119 |
Discrete Mathematics |
4 |
4 |
||
MA022 |
Applied Calculus |
4 |
4 |
||
MA102 |
Statistics |
3 |
3 |
||
MA102E |
Excel for Statistics |
1 |
1 |
||
MA122 |
Probability and Statistics |
4 |
4 |
||
Total Prerequisites |
24 |
32 |
25 |
25 |
|
Required Core
Concentration |
|||||
SE |
BI |
MIS |
TW |
||
Course Number |
Course Name |
Units |
Units |
Units |
Units |
CD/MG186 |
Service Learning Internship |
3 |
3 |
3 |
3 |
CS135 |
Computer Operating Systems and Unix Utilities |
4 |
4 |
4 |
4 |
CS177A |
Web Programming I – Client Side |
3 |
3 |
3 |
3 |
CS183 |
Database Management Systems |
3 |
3 |
3 |
3 |
CS185 |
Software Engineering |
3 |
3 |
3 |
3 |
CS193 |
Computer Network and Network Programming |
4 |
4 |
4 |
4 |
CS196 |
Senior Project |
3 |
3 |
3 |
3 |
EN/CM107 |
Technical Writing |
3 |
3 |
3 |
3 |
Total Required Core |
26 |
26 |
26 |
26 |
|
Concentration Requirements
Concentration |
|||||
SE |
BI |
MIS |
TW |
||
Course Number |
Course Name |
Units |
Units |
Units |
Units |
By152 |
Cellular and Molecular Biology |
4 |
|||
BY/CS158A |
Bioinformatics I |
4 |
|||
BY/CS158B |
Bioinformatics II |
3 |
|||
CM/EN118 |
Writing for the Media |
3 |
|||
CM/MG161 |
Persuasion and Presentation |
3 |
|||
| or | |||||
CM180 |
Foundations of Leadership and Teamwork |
(2) |
|||
CS110 |
Analysis of Algorithms |
3 |
3 |
||
CS120 |
Programming Languages |
3 |
|||
CS156 |
Programming for Biologists |
3 |
|||
CS177B |
Web Programming II – Server Side |
3 |
|||
EN106 |
Advanced Writing |
3 |
|||
EN136 |
Professional Writing |
3 |
|||
GB183 |
Legal Environment of Business |
3 |
|||
MG196 |
Management Principles and Organizational behavior |
3 |
|||
MK160 |
Marketing Principles |
3 |
|||
Total Concentration Requirements |
9 |
17 |
9 |
11/12 |
|
Electives
One Elective course is required for the Bioinformatics (BI) and Technical Writing (TW) concentrations. Two elective courses are required for the Software Engineering (SE) and Management Information (MIS) concentrations.
Concentration |
|||||
SE |
BI |
MIS |
TW |
||
Units |
Units |
Units |
Units |
||
Course Number |
Course Name |
2 Elective Courses Required |
1 Elective Course Required |
2 Elective Courses Required |
1 Elective Courses Required |
Any upper division Biology Course |
3 |
||||
CS155 |
Computer Graphics |
3 |
3 |
||
CS161 |
Object – Oriented Design and Programming |
3 |
3 |
||
CS195 |
Special Topics in Computer Science |
3 |
3 |
3 |
3 |
GB183 |
Legal Environment of Business |
3 |
|||
MG/TM176 |
Operations and Information Technology Systems |
3 |
|||
MG/TM177 |
Telecommunications Management |
3 |
|||
MG196 |
Management Principles and Organizational Behavior |
3 |
|||
MG197 |
Management Planning and Decision-Making |
3 |
|||
MK160 |
Marketing Principles |
3 |
|||
MK/TM175 |
Business to Business Advertising in a Technology Environment |
3 |
|||
Total Electives |
6 |
3 |
6 |
3 |
|
Concentration |
|||||
SE |
BI |
MIS |
TW |
||
Units |
Units |
Units |
Units |
||
Course Number |
Course Name |
2 Elective Courses Required |
1 Elective Course Required |
2 Elective Courses Required |
1 Elective Courses Required |
Any upper division Biology Course |
3 |
||||
CS155 |
Computer Graphics |
3 |
3 |
||
CS161 |
Object – Oriented Design and Programming |
3 |
3 |
||
CS195 |
Special Topics in Computer Science |
3 |
3 |
3 |
3 |
GB183 |
Legal Environment of Business |
3 |
|||
MG/TM176 |
Operations and Information Technology Systems |
3 |
|||
MG/TM177 |
Telecommunications Management |
3 |
|||
MG196 |
Management Principles and Organizational Behavior |
3 |
|||
MG197 |
Management Planning and Decision-Making |
3 |
|||
MK160 |
Marketing Principles |
3 |
|||
MK/TM175 |
Business to Business Advertising in a Technology Environment |
3 |
|||
Total Electives |
6 |
3 |
6 |
3 |
|
Concentration |
|||||
SE |
BI |
MIS |
TW |
||
Units |
Units |
Units |
Units |
||
Other Degree Requirements* and General Electives |
59 |
36 |
58 |
57/58 |
|
* Other degree requirements include Core Curriculum Requirements and General Degree Requirements (e.g., Career Development, U.S. History). |
|||||
| Total Unit Requirement | 124 |
124 |
124 |
124 |
|
Students beginning the Computer and Information Science sequence (CS030) are required to have passed Math Placement Level 4 and be ready for Calculus. Deficiencies in mathematics may be corrected by taking appropriate courses suggested by an advisor. Transfer students are recommended to have taken as many courses as possible from the prerequisites (Lower-division Foundation).
Students with no background in programming with a high level programming language should concurrently enroll in CS030L when taking CS030, CS040, or other Computer Science courses.
Students enrolled in the Computer & Information Science major must successfully complete the Mathematics prerequisites before enrolling in most upper division Computer & Information Science courses. (See specific prerequisites for each course.)
MA030 is strongly recommended to be taken as a general elective.
For the purpose of gaining practical experience, Computer & Information Science students are required to complete an internship in a closely related area to their concentration. Students are also encouraged to participate in Computer & Information Science Club projects/activities.
Students are advised to satisfy the Core Curriculum requirement for Philosophy and Values by taking PL126/GB126 Business Ethics or PL128 Ethics and Professional Responsibility.
Minor Requirements: Computer & Information Science
Prerequisites: |
Units |
|
CS030 |
Foundations of Computer Science |
4 |
MA020A |
Calculus I |
4 |
MA119 |
Discrete Mathematics |
4 |
Minor Requirements: |
Units |
|
CS040 |
Data Structure and Abstraction |
4 |
Upper-division units in Computer Science * |
9 |
|
|
|
|
* NOTE: None of these nine units may be used to fulfill requirements or electives for another major or minor. They may, however, be used to fulfill prerequisites. Courses recommended for the Computer & Information Science minor are as follows: |
|
|
CS135 |
Computer Operating Systems and Unix Utilities (4) |
|
CS161 |
Object-Oriented Design and Programming (3) |
|
CS177A |
Web Programming I – Client Side (3) |
|
CS177B |
Web Programming II – Server Side (3) |
|
CS183 |
Database Management Systems (3) |
|
CS185 |
Software Engineering (3) |
|
CS193 |
Computer Networks and Network Programming (4) |
|
Computer & Information Science Courses
CS008 Introduction to Computer & Information Systems (3)
See Technological Competency for course description.
CS030 Foundations of Computer Science (4)
Prerequisite: Math Placement Level 4, or concurrent enrollment in MA020A or permission of instructor.
This course covers structured problem solving with Java (steps in building software applications: problem analysis, structures, flowchart, pseudocode, algorithm design, and modularity), number systems and data representation, and an overview of computer organization. Topics includes data types, Boolean expressions and operators, applications and applets, conditional and repetitive structures, methods, arrays, strings and characters, graphical user interface, files and streams. Emphasis is placed on modular approach to programming methodology.
CS030L Programming Laboratory (1)
Prerequisites: Permission of instructor.
This course is highly recommended to be taken concurrently with CS030, and CS040. May also be taken by students in other Computer Science courses. Students are introduced to general Unix commands and interface facilities and receive individualized assistance with programming assignments. Consultation and feedback concerning a student's approach to design and implementation of computer programs are offered. May be repeated for credit. Does not satisfy any Core Curriculum requirement.
CS040 Data Structure and Abstraction (4)
Prerequisites: CS030 and MA20A or permission of instructor. MA020B and MA119 are recommended.
This course focuses on object-oriented approach with Java to a variety of abstract data types and their associated algorithms. Topics include object-oriented design and programming (classes and objects, inheritance, polymorphism), packages, exception handling, recursion, stacks, queues, lists, trees, binary trees, sets, generics, collections, recursive techniques for implementing generic data structures, sorting and searching algorithms, complexity analysis for some search and sort algorithms.
CS110 Analysis of Algorithms (3)
Prerequisites: CS040, MA020B, and MA119 or permission of instructor. MA030 and MA122 are recommended.
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.
CS120 Programming Languages (3)
Prerequisites: CS040, CS050, and MA119 or permission of instructor.
Basic elements of programming language design, organization, and implementation are studied. Topics include: comparison of imperative, functional, and object-oriented programming, plus an overview of methods for parsing, compiling, interpretation, and optimization, as well as language design, BNF notation, and grammars. Elements of programming languages such as data types, expressions, assignment, control structures, subprograms, parameter passing, ADT, OOP, exception handling, functional languages, and LISP programming are covered. The student project for this course is to design and implement an interpreter/simple language.
CS135 Computer Operating Systems and Unix Utilities (4)
Prerequisites: CS040, CS050, and MA119 or permission of instructor. MA122 is recommended.
This course focuses on operating systems design and implementation. Topics include: process scheduling, management and protection, concurrency, deadlock control, synchronization, communication plus memory and virtual memory management, I/O processing, disk management, file system, protection, security and performance issues, distributed systems, projects, and applications. UNIX commands, UNIX processes, file system, vi editor, mail and communication, shell environments, regular expressions, shell scripts, UNIX utilities (grep, awk, sed, find), intro to system calls, and security and administration.
CS149L/T Laboratory/Teaching Assistant (1-3)
Prerequisite: Permission of instructor.
Provides an opportunity for Computer Science majors to gain practical experience and earn credit by assisting instructors or by participating in systems management activities or in Computer Science Program/Lab project.
CS155 Computer Graphics (3)
Prerequisites: CS040, MA030, and MA119 or permission of instructor. MA122, and MA150 are recommended.
Focuses on 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.
CS156 Computer Programming for Biologists (3)
Prerequisite: CS030 or MA119 or permission of instructor.
This course provides an introduction to computer programming for students in Natural Sciences who are interested to take Bioinformatics courses. Topics covered include: algorithmic approach to problem solving, software development principles, structured/modular programming with C, Perl, Bioperl and/or other Perl libraries in a Unix/Linux environment, database concepts and access queries.
CS158A Bioinformatics I (4)
Prerequisites: One Statistics course from MA102 or MA122, and one prerequisite course from BY152 or CS156, or permission of instructor.
This is an introductory course in Bioinformatics. The course focuses on using various sequencing methodologies and algorithms, software tools and packages in order to experiment and design protein sequence alignment and modeling from DNA and protein sequences. Students are introduced to the public DNA and protein databases and to common techniques and software tools used for protein analysis and modeling. Biology students and Computer Science students work in teams searching, classifying, constructing, comparing, analyzing and interpreting sequences of proteins. Cross-listed as BY158A.
CS158B Bioinformatics II
Prerequisites: BY/CS158A or permission of instructor.
This course covers additional topics related to protein formation, modeling and analysis through various sequencing techniques, by using public DNA and protein data bases and specific algorithms and software tools. Other topics may include genetic algorithms and Monte Carlo type simulations and their possible applications to solving related bioinformatics problems. Cross-listed as BY158B.
CS161 Object Oriented Design and Programming (3)
Prerequisites: CS030 and CS040 or permission of instructor.
Focuses on major principles of object-oriented design and analysis including data abstraction, encapsulation, inheritance, and polymorphism. Concepts are illustrated in the context of C++ programming. Topics include: classes, data abstraction, templates, function and operator overloading, friends, derived classes, virtual functions, C++ I/O and Standard Template Library, and object-oriented design with UML.
CS177A Web Programming I – Client Side (3)
Prerequisites: CS030 or permission of instructor. CS040 is recommended.
Focuses on design and implementation of real-world client-side Web applications. Topics include: HTML, creating images, web design software to create web pages, scripting language (JavaScript) to enhance the functionality and appearance of web pages, Dynamic HTML (CSS - Cascading Style Sheet, object model and collections, event model), multimedia (audio, video) Macromedia Flash, XML form processing, Perl, and CGI.
CS177B Web Programming II – Server Side (3)
Prerequisites: CS030, CS040 and CS177A or permission of instructor.
Focuses on design and implementation of real-world server-side applications using JSP/Servlets/JDBC and Oracle or MySQL. Topics include: JavaBeans, tag libraries, tracking sessions, servlets, creating databases with Java, querying data bases with Java and Database Connectivity (JDBC), handling e-mail, Struts framework, and security.
CS183 Database Management Systems (3)
Prerequisites: CS040 and MA119 or permission of instructor.
Focuses on file organization and storage management, access methods, logical versus physical organization, and relational, network, and hierarchical models. Topics include database architecture, schemas and query facilities, transaction processing, recovery, concurrency, distributed systems, and issues of performance, integrity, and reliability. The student project is to design and implement an Oracle DBMS application.
CS185 Software Engineering (3)
Prerequisites: Junior or senior standing in Computer Science or other CS related program or permission of instructor.
Focuses on software development phases: analysis, specification, modularization of a problem, module implementation and testing, interface implementation, integration and testing, documentation, reviews, and post-distribution support, plus object-oriented methods. Software metrics and computer-aided software engineering tools are studied. A team approach to developing and implementing software projects using the SE phases and methods is emphasized.
CS193 Computer Networks and Network Programming(4)
Prerequisites: CS040 or permission of instructor. CS050 is recommended.
Focuses on methodologies for interconnecting computers and design. Implementation of network-based applications and interaction with a variety of common servers . Topics include: network architectures, topologies, and protocols and their associated algorithms, plus local and wide area networks. Hardware and software aspects of the layered approach to computer networks, LAN technology. 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.
CS195 Special Topics in Computer Science (3)
Prerequisite: Permission of instructor.
Designed to address evolving areas in computer science. May be repeated for credit.
CS196 Senior Project (3)
Prerequisites: Senior standing in Computer Science or other CS related program and permission of instructor.
This is the senior capstone course and project. The course emphasizes methodology and implementation of a team approach to management, analysis, design, development, implementation, and testing of a software application. The project will follow the software engineering specific phases. Modular approach, coordination techniques, object-oriented and/or other software development methods are included. May be repeated for credit. Please see the Senior Project of 2005.
CS199 Independent Study in Computer Science (1-3)
Prerequisite: Permission of instructor.
Provides an opportunity for independent study or research under the direction of an instructor.
See Undergraduate Policies and Procedures section on Independent Study.
Technological Competency Courses
Computer Science offers several courses designed to train NDNU students to achieve technological competency, in order to prepare them with the computer skills and knowledge needed to facilitate their success in their future careers. A new course in GIS (Geographic Information Systems) is now available to students who are interested to use in their research the visualization, data analysis and presentation tools offered by GIS.
CS008 Introduction to Computer & Information Systems (3)
Introduces a full range of computer and information systems concepts, including social and economic implications of computers in contemporary society. Provides training in the fundamentals of personal computing, with students participating in word processing, spreadsheet, and database management projects. Students will be introduced to web page design using standard software and HTML. Cross listed with GB008.
CS109 Advanced HTML and Scripting for the Web (3)
Prerequisite: CM109 or permission of instructor.
This is a project-based course in which students learn to create more advanced Web sites. Students learn the information architecture of the World Wide Web, Web standards and protocols, and advanced searching. Building on their previous mastery of basic HTML, students incorporate framesets, Javascript and CGI scripts, and multimedia features into their Web sites. This course is part of the Web Design Interdisciplinary Minor.
CS171 Geographic Information Systems and Applications (3)
Prerequisite: Familiarity with Microsoft Office products and Internet navigation and searches.
Geographic Information System (GIS) is a computer-based system used to manage and analyze spatial information. This course is a comprehensive introduction to the theory and techniques of GIS including spatial data concepts, database querying, displaying data, working with spatial data, editing data, projections, presenting data and data analysis. Information analyzed with GIS includes geographical, environmental, health care, social, political, economic and business related. Through practical applications in GIS students will use scientific and technical methods of inquiry to analyze tabular and spatial data for geographic trends, patterns and relationships. A field trip is required We will gather data locally for a GPS and GIS exercise in the field.
