Proposed Changes in the Network Computing and Computer Science Curricula

Summary of Changes

This is a series of small improvements to our curriculum based on our experience.  Experience has shown that our students have difficulty making the change from Java into C++.  This proposal adds an additional class, CS 201, that helps students make the transition.   This proposal drops CS 126, a class that experience has shown to be less valuable.   It changes the credit hours received for three classes by one credit each.  Finally, it changes our elective list to reflect changes made by other departments affecting courses accepted as electives.

1. Change the Graduation Requirements for Network Computing Major

Rationale and Explanation
We are dropping CS 126 because experience has shown that the credit hour can be better spent elsewhere.  We are adding CS 201 as described below.  We are changing the course number of the Art and Design and C.I.S. electives to reflect changes made in their programs.  We are adding CIS 464 to reflect the increasing use of databases in modern web site construction.  We are requiring CS 442 Advanced Networking because we believe that networking is more important now than ever before, and want to increase the amount of networking experience our students receive.  We are moving CS 444 Parallel and Distributed Processing to elective status to make room for CS 442 Advanced Networking.  And we are increasing the amount of credit offered for CS 480 to reflect our new hopes for larger more intersting senior projects.

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
 
 

2.  Change the Graduation Requirements for Computer Science Major

Rationale and Explanation
We are dropping CS 126 because experience has shown that the credit hour can be better spent elsewhere.  We are adding CS 201 as described below.  We are changing the course number of the C.I.S. elective to reflect changes made in their program.  We are changing our Mathematics core to enable students to have the flexibility to learn the type of mathematics that interests them, within the scope of mathematics appropriate to computer science.

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.
 
 

3. Add CS 201 Programming In C++

Bulletin Description
Course Number CS 201
Course Title Programming in C++
Credit Hours 3
Prerequisites To be taken with or after CS 122

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.
 

4. Changes to Prerequisites for CS Courses

CS 228 Network Programming
Change To:  CS 122 and CS 201
Change from: CS 122
Rationale:  This class will now assume that students already know how to program in C++, which will be taught in CS 201.

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.

5.  Changes to Credit Offered for CS Courses

CS 228 Network Programming:  Change from four to three credit hours
Rationale: Since students will already understand C++, fewer credit hours are needed for this course.

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.

6.  Drop CS 126

Rationale: Experience has shown this class is less valuable than we had hoped.  The credit hour released here can be better spent in CS 201.

7.  Changes to Course Title

CS 442 Computer Communications and Networks
Change to:  CS 442 Advanced Networking
Rationale:  This class is a continuation of CS 228 Networking.  This name change reflects that and better describes the course content.
 

8. Add CS 460 Databases on the Web

Bulletin Description
Course Number CS 460
Course Title Databases on the Web
Credit Hours 3
Prerequisites 6 credit hours at the 200 level or above

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.
 

9. Add CS 370 Robots

Bulletin Description
Course Number CS 370
Course Title Robots
Credit Hours 4
Prerequisites 6 credit hours at the 200 level or above

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.