Liberal Studies 40
Health Promotion 2
Major 42
Computer Science Core (21 cr)
CS 120 Computer Science I
(4cr)
CS 122 Computer
Science II (4cr)
CS 201
Programming in C++ (3cr)
CS
222 Data Structures (4cr)
CS 326 Object Oriented Design (3cr)
CS 480 Senior Project in
Computer Science (3cr)
Mathematics Core (3 plus four liberal studies hours)
MA 171 Introcuction to Probability
and Statistics (4cr, counts for liberal studies)
MA 240 Discrete Math (3cr)
Networking Core (9 cr. CS 228 and two others)
CS 228 Network Programming (3cr)
CS 442 Advanced Networking (3cr)
CS 444 Parallel and Distributed
Processing (3cr)
CS 460 Databases
on the Web (3cr)
CS, MA, CIS, and AD Electives (9 cr)
CS 200 or higher (This
excludes those with middle digit "5") 0-9
AD 230 Electronic Imaging:
Introduction (4cr)
AD 331
Electronic Imaging: Drawing and Painting Seminar (4cr)
AD 332 Electronic Imaging:
Multimedia Seminar (4cr)
AD
333 Electronic Imaging: Modeling Seminar (4cr)
CIS 440 Decisions Support
and Expert Systems (3cr)
CIS 464 Database Management Systems (3cr)
CIS 235A, CIS 235B,
CIS 235C, CIS 235D, CIS 235E, CIS 235F Microsoft NT CBT (2 cr max)
Minor 20
Electives 20
Total Credits Required for Degree 124
Liberal Studies 40
Health Promotion 2
Major 60
Computer Science Core (35 cr)
CS 120
Computer Science I (4 cr)
CS 122
Computer Science II (4 cr)
CS 201
Programming in C++ (3 cr)
CS 222
Data Structures (4 cr)
CS 228
Network Programming (3 cr)
CS 322
Principals of Programming Languages (4 cr)
CS 326
Object Oriented Design (3 cr)
CS 330
Microcomputer Architecture (4 cr)
CS 422
Algorithms Design and Analysis (3 cr)
CS 426
Operating Systems (3 cr)
Mathematics Core (15 cr)
MA 161
Calculus I (5 cr)
MA 163
Calculus II (4 cr)
MA 211
Introduction to Matrix Theory and Linear Algebra (3 cr)
MA 240
Discrete Mathematics (3 cr)
Mathematics Elective (4 cr)
MA 171
Introduction to Probability and Statistics (4 cr)
MA 310
Mathematical Models and Problems (4cr)
MA 380
Linear Programming (3cr)
MA 381
Integer Programming and Network Flows (3cr)
MA 410
Mathematical Modeling (4cr)
MA 473
Numerical Analysis (4cr)
CS and MA Electives (6 cr)
CS 300 or
higher (This excludes those with middle digit "5") (0-6 cr)
CIS 464
Database Management Systems (3 cr)
MA
courses numbered 265 or higher excluding those with a middle digit "5" and
excluding MA271, MA331, and MA484
Minor 20*
Electives 6
Total Credits Required for Degree 128
* Mathematics may be declared as the minor without further course
requirements if the student elects one MA course from among the MA and CS
Electives. That is, the minor must consist of MA courses only.
CS 201 teaches how to program in C++. Topics include pointers, memory management, data structures, object oriented design, and file processing.
Rationale
This class is to help the difficult transition our
students face when changing from the Java to the C++ language. Further, it
is to give them more experience programming before they address the topics of
data structures and networking as presented in CS 222 and CS 228.
Course Number
This class is meant for sophomores or advanced
freshman. CS 201 is an appropriate number. It is not in use by any other
course.
Course Outline
We will teach basic data structures such as linked
lists and circular buffers, file processing topics such as reading and writing
files, and object oriented design topics such as constructors and destructors.
Anticipated Costs
There are no anticipated additional expenditures
associated with this course. Resources used for this class would have been used
for other courses had this class not been taught.
Staffing Faculty are currently available to teach this course.
Equipment and Supplies
We anticipate no additional requirements
for this course beyond the computer laboratories already in existence.
Library and Reading Requirements
We expect no library component.
Effects on Other Departments
We hope this course will be made an
elective for the programming and networking tract of the C.I.S. proposal, and
for the Electronics Technologies program. We will be communicating
this to those departments.This class is to be a core requirement for the new
G.I.S. proposal from the geography department. This change will likely have
no effect on other departments.
CS 222 Data Structures
Change To: CS 122 and CS 201
and one of MA 240 or MA 340
Change from: CS 122 and one of MA 240 or
MA 340
Rationale: This class will now assume that students
already know how to program in C++, which will be taught in CS 201.
CS 326 Object Oriented Design
Change To: CS 222
Change from: CS 122, CS 126 and one of CS 222 or CS 228 or CS 330
Rationale: CS 126 is being dropped from the curriculum.
Requiring CS 201 instead of CS 122 will provide our students with more
experience before taking this class.
CS 422 Algorithms Design and Analysis
Change to:
CS222 and one of MA 161 or MA 271
Change From: CS 322 or junior
standing
Rationale: Experience has shown that basic calculus is
required for the topics included in this class. Therefore MA 161 or MA 271
is required. We have discovered that programming topics covered in CS 222
are sufficient for this class, and therefore we reduce the programming
requirement from CS 322 to CS 222.
CS 480 Senior Project: Change from two to three credit hours
Rationale: We have decided to expect larger projects, and therefore
offer more credit hours.
CS 442 Advanced Networking: Change from four to three credit
hours
Rationale: Experience has shown that the required topics can be
taught in three credit hours.
This class teaches how to program interactive web sites using database technology. The main focus is on writing software that takes input from web forms as input, interacts with a database, and presents results in HTML format. Databases and scripting languages such as SQL, Perl and PHP are covered. Additional topics will be covered depending on current industry trends.
Rationale
We have offered this class several times as a CS 495
Special Topic, and is has been popular with and educational for the
students. No other course at NMU offers these topics, and these
topics are important in industry today.
Course Number
This class is meant for seniors. CS 460 is an
appropriate number. It is not in use by any other course.
Course Outline
We will teach Perl, PHP, SQL, and database
basics. Please note that this is a programming course, and not an
applications course.
Anticipated Costs
There are no anticipated additional expenditures
associated with this course. Resources used for this class would have been used
for other courses had this class not been taught.
Staffing Faculty are currently available to teach this course.
Equipment and Supplies
We anticipate no additional requirements
for this course beyond the computer laboratories already in existence.
Library and Reading Requirements
We expect no library component.
Effects on Other Departments
We hope this course will be made an
elective for the programming and networking tract of C.I.S. We will be
communicating this to that department. This change will likely have no
effect on other departments.
This class teaches how to build and program robots. Design issues such as sensors, motors and actuators will be discussed. Programming behaviors into the robots will be emphasized. Students who have graduated from CS 330 are particularly encouraged to take this course, but CS 330 enrollment is not required.
Rationale
We have offered this class several times as a CS 495
Special Topic, and is has been popular with and educational for the
students. No other course at NMU offers these topics, and these
topics are important in industry today.
Course Number
This class is meant for juniors and seniors.
CS 370 is an appropriate number. It is not in use by any other course.
Course Outline
We will teach the topics as discribed above.
Please note that this course continues to evolve as instructors gain experience
teaching it.
Anticipated Costs
There is a small cost associated with purchasing
robot parts for this course. Historically we have been able to cover these
costs with faculty grants, departmental funsds, and support from the Deans
Office. We also hope to use TLC support. We anticipate covering
these small expenses should not be an undue burden.
Staffing Faculty are currently available to teach this course.
Equipment and Supplies
We anticipate no additional requirements
for this course beyond the computer laboratories already in existence. In
particular, the NERL robot lab will be of great help.
Library and Reading Requirements
We expect no library component.
Effects on Other Departments
We hope this course will be made an
elective for the Electronics Tech program. We will be communicating this to that
department. This change will likely have no effect on other departments.