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.

Liberal Studies 40
Health Promotion 2
Major 42

     Computer Science Core 21

         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 Introduction to Probability and Statistics (4cr, counts for liberal studies)
        MA 240 Discrete Math (3cr)

     Networking Core 9 (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

         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 adding the flexibility of our new Hardware Core, and enlarging our Mathematics core.

Liberal Studies 40
Health Promotion 2
Major 60

      Computer Science Core 31

            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

            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 3

            MA 171 Introduction to Probability and Statistics (4 cr)
            MA 265 Caluclus III (3cr)
            MA 310 Mathematical Models and Problems (4cr)
            MA 312 Abstract Algebra with Applications (3cr)
            MA 340 Combinatorics (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

            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 C.I.S., and for the Electronics Technologies program.   We will be communicating this to those departments.This class will be required for the new Geographic Information Systems major about to be proposed.    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 Computing:  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 Network Computing:  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 CS 201

This class covers how to program web sites with database backends.  The main focus is on writing software that takes user input from a web form, does a database lookup, and presents results.  Databases and scripting languages are covered.

Rationale
Classes like this have been taught as a special topics class for some time, and have proved both very popular and valuable for our students.

Course Number
This class is intended for juniors and seniors.  CS 460 is not in use.  Therefore CS 460 is an appropriate number for this course.

Course Outline
Topics will be drawn from the following list:  CGI programming, RMI programming, SQL, HTML, and various scripting languages such as Perl and/or PHP.

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.   We will be communicating this to that department.  This change will likely have no effect on other departments.
 

9.  Change the Requirements for the Computer Science Minor

Rationale and Explantion:  We believe that for certain students, the PH 393 Experimental Instrumentation and Analysis class would be valuable.  These are students who wish to learn more about using computers to measure physical phenominia.

Requirements:
Twenty hours from the list below.  At least twelve hours must be Computer Science classes numbered 120 or above.
        Computer science courses numbered 120 or above, excluding all classes with a middle digit of '5'.
        Math courses numbered 115 or above, excluding all classes with a middle digit of '5'.
        PH 393 Experimental Instrumentation
 

10. Add CS 361 Robots

Bulletin Description
Course Number CS 361
Course Title Robots
Credit Hours 4
Prerequisites CS 201, or CS 122 and CS 330

This class teaches students how to build and program robots.  These robots contain sensors for input, microprocessors for processing, and motors for output.  Emphasis is on programming useful behaviors into the robots.  Projects vary by semester.  See the instructor for details.

Rationale
Classes like this have been taught as a special topics class for some time, and have proved both very popular and valuable for our students.

Course Number
This class is intended for juniors and seniors.  CS 361 is not in use.  Therefore CS 361 is an appropriate number for this course.

Course Outline
Topics will be drawn from the following list:  Designing robots, sensor design, programming, autonomous behavior, learning algorithms, teamwork, and some basic electronics.

Anticipated Costs
There is sometimes a small cost assosicated with purchasing parts for building robots.  Historically these costs have been covered by departmental funds, instructor grants, and college funds.  We believe the same mix of sources can cover the small cost of operating this class.

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 N.E.R.L. Robotics lab established by Dr. Horn will be quite useful.

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 Technologies department.   We will be communicating this to that department.  This change will likely have no effect on other departments.