Top Navigation

Side Navigation

Computer Science

Chairperson: Dr. Kathleen Neumann
Office: Stipes Hall 447
Telephone: (309) 298-1452 Fax: (309) 298-2302
E-mail: C-Science@wiu.edu
Website: wiu.edu/computerscience

Faculty: Brown, Calkins, Clayton, Covert, DeVolder, Ehrlich, George, Kim, Klems, LaFlam, Lee, Leff, Maskarinec, McQuillan, Neumann, Philip, Stoneking, Tichenor, Zang.

Since its commercial introduction in the 1940's, the computer has wrought major changes in business, industry, government, and science, and with the possible exception of television, no other recent invention has so completely altered society as a whole. The student choosing to major in computer science or network technologies is entering a dynamic career area filled with challenge and unlimited opportunities for individual growth.

The department offers a comprehensive curriculum. All students are expected to complete a core sequence in which they acquire the fundamental skills in computing and mathematics. Students may select advanced courses from a wide variety of specialized areas within computer science or network technologies. Current offerings permit the student to become involved with a broad spectrum of business and scientific applications, software, and data base design, or the more theoretical basis of computing. The undergraduate degree programs offer course sequences leading to the Bachelor of Science in Computer Science and the Bachelor of Science in Network Technologies.

GradTrac is available to Computer Science (Business and Traditional) and Network Technologies majors.  See more information about GradTrac

Honors Curriculum- Academically qualified students in this department are welcome to complete an honors curriculum in University Honors, Upper Division Honors, or Lower Division Honors. All Honors students must complete the one-hour honors colloquium (G H 299). Lower Division Honors includes General Honors coursework. Upper Division Honors includes honors work in the major. University Honors combines Upper and Lower Division Honors. For more information about honors curricula visit the Centennial Honors College website at www.wiu.edu/Honors

Integrated Baccalaureate and Master’s Degree Program - An integrated baccalaureate and master’s degree program is available in Computer Science.  An integrated degree program provides the opportunity for outstanding undergraduates to earn both degrees in five years. Please refer to the Graduate Studies catalog for details about the integrated program.

Degree Programs

Bachelor of Science - Computer Science

The program for the bachelor's degree shall contain the required departmental core of 24 s.h., a depth component of 12 s.h., UNIX or COBOL, and departmental electives chosen in consultation with the departmental adviser.

The department offers two options of courses designed to meet the career paths of its students; each student will choose an option after consultation with the adviser and with the approval of the department.

The department requires a minor from one of the other departments on campus. Those students wishing to pursue the business option must choose a minor from a business discipline in the College of Business and Technology or a cognate minor constructed from business courses approved by the department adviser and chairperson. Students choosing the traditional computer science option can choose any minor or an approved cognate minor.

All students seeking the Bachelor of Science in Computer Science must complete I, II, and III.A. or III.B. The minimum semester hour requirement for the baccalaureate degree is 120 s.h.

  1. University General Education Curriculum:  43 s.h.
    (To include MATH 133 - Traditional Option or MATH 137 - Business Option)
  2. Core Courses:  24 s.h.
    CS 211, 212, 214, 310, 350, 351, 355, 491†, 492†
  3. Options of Study (select A or B)
    1. Computer Science (Traditional)
      1. Depth Courses:  12 s.h.
        Choose four of the following: CS 400, 410, 420, 460, 465, 470
      2. CS 371:  3 s.h.
      3. Departmental Electives:  6 s.h.
        Choose any course in the computer science department except CS 101, 102, 111, 225, 302, 305, 315, 365, 455, 483, 484, and 488.
      4. Other
        MATH 255, 311, and STAT 276:  9 s.h.
      5. Minor:  16 s.h.
      6. Open Electives:  7 s.h.
    2. Business Option
      1. Depth Courses:  12 s.h.
        Choose four of the following: CS 400, 410, 420, 460, 465, 470
      2. CS 220, 230:   6 s.h.
      3. Departmental Electives:  3 s.h.
        Choose any course in the computer science department except
        CS 101, 102, 111, 225, 302, 305, 315, 365, 455, 483, 484, and 488.
      4. Other
        MATH 255 and STAT 276:  6 s.h.
      5. Minor:  16 s.h.
      6. Open Electives:  10 s.h.

†CS 491 and CS 492 fulfill the Writing Instruction in the Discipline (WID) graduation requirement.

A minimum cumulative grade point average of 2.00, both in computer science courses and overall, should be achieved by the junior year. These grade point averages must be maintained for graduation as a computer science major.

Bachelor of Science -Network Technologies

All students seeking the Bachelor of Science in Network Technologies must complete I, II, III, IV, V, and VI. The minimum semester hour requirement for the baccalaureate degree is 120 s.h.

  1. University General Education Curriculum:  43 s.h.
    (To include STAT 171 and MATH 137)
  2. Core Courses:  27 s.h.
    CS 211, 212, 214, 310, 350, 395; NET 321, 322, 432, 434
  3. Directed Electives:  18 s.h.
    Choose six of the following: NET 422, 436, 490, 495, 499; CS 320, 371, 400, 415, 470
  4. Other:  12 s.h.
    POLS 300, IS 320†, IS 344, MATH 255
  5. Minor:  16 s.h.
    Note: Network Technologies majors may not minor in Computer Science
  6. Open Electives:  4 s.h.

†Completion of IS 320 fulfills the Writing Instruction in the Discipline (WID) graduation requirement.

Minors

Minor in Computer Science:  18 s.h.

Traditional

  1. CS 211, 212, 214, 350:  9 s.h. 
  2. Computer Science Electives:  9 s.h. 

Note: A total of 6 s.h. must be at the 300 level or above.

Microcomputer Applications

  1. CS 101, (211 and 212 or 220 or 488), (301 and 483) or (302 and 315):  12 s.h. 
  2. Computer Science Electives:  6 s.h. 

Note: A total of 6 s.h. must be at the 300 level or above.

Course Descriptions

COMPUTER SCIENCE (CS)

101  Introduction to Computers I. (3)  Covers computer hardware and computing concepts; introduction to wordprocessing, spreadsheets, database, electronic communications, and presentation software. Cannot be applied to the computer science major. Credit cannot be given for more than one of CS 101, 111, or 203.
IAI: AG 913; BUS 902.

102  Introduction to Computers II. (3)  Covers advanced wordprocessing, presentation graphics, database software, integration of software and software needs analysis. Will contain a team project. Cannot be applied to the computer science major. Prerequisite: CS 101 or equivalent.

111  Introduction to Computers for Teachers. (1)  Designed for elementary and secondary teacher education. Covers basic computer literacy, electronic communication, introduction to the World Wide Web, basic wordprocessing, and spreadsheet-based grade books. Cannot be applied to the Computer Science major. Credit cannot be given for more than one of CS 101, 111, or 203. Prerequisite: permission of Teacher Certification Officer.

211  Principles of Computer Science I. (2)  Introduction to computer algorithms, problem specification, correctness, computer structure, ethics, sets, functions, iteration and recursion. Credit cannot be given for both CS 211 and CS 201. Corequisite: CS 212 and MATH 100 or equivalent.
IAI: CS 911 if CS 212 also completed.

212  Basics of Java. (1)  Will present the basic principles of the Java language including types, program structure, iteration, decision statements, single dimensioned variables, classes, objects, and methods. Credit cannot be given for both CS 212 and CS 201. Corequisite: CS 211.
IAI: CS 911 if CS 211 also completed.

214  Principles of Computer Science II. (3)  Introduction to computer program design, testing, documentation, simple data structures, pointers, recursion, sorting, searching, and algorithm development using object-oriented techniques. Credit cannot be given for both CS 214 and CS 202. Prerequisites: CS 211 with a grade of C- or better and CS 212 with a grade of C- or better or consent of department.
IAI: CS 912.

220  Introduction to COBOL. (3)  Structured programming methods in COBOL. Introduction to file concepts and file processing.

225  Programming for Engineering and Science. (3)  Fundamental principles, concepts, and methods of computing, with emphasis on applications in the physical sciences and engineering. Basic problem solving and programming techniques; fundamental algorithms and data structures; use of computers in solving engineering and scientific problems. Cannot be used towards a major in computer science. Prerequisite: MATH 133.

230  External Files. (3)  To introduce concepts and techniques to create and maintain sequential, indexed, and relative files using Virtual Storage Access Methods (VSAM) and Access Method Service utilities (IDCAMS). Prerequisite: CS 220 or equivalent.

300  Introduction to Digital Circuits. (3)  Introduction to digital circuits using integrated circuits, design of combinational and sequential circuits, interfacing different logic families, basic devices such as decoders, multiplexers, and counters.

301  Advanced Microcomputer Systems with Spreadsheet Applications. (3)  This course covers advanced spreadsheet techniques including microprogramming. Also covered are on-line information systems, package installation, and other advanced application techniques. Credit cannot be given for both CS 301 and CS 302. Prerequisite: CS 101 or 203.

302  Spreadsheet and Database Applications. (3)  Covers both spreadsheet and database applications from a business perspective. Emphasis will be placed on working with formulas, formatting, charting, query construction, form generation, report generation, and the integration of these applications. Cannot be applied towards the computer science major. Credit cannot be given for both CS 301 and CS 302. Credit cannot be given for both CS 483 and CS 302. Prerequisite: CS 101 or equivalent.

305  Introduction to Computer Forensics. (3)  An introduction to computer forensics. The course will cover a range of computer hardware and forensics software tools on current and past operating systems. Cannot be applied toward the computer science major. Prerequisite: CS 101 or equivalent.

310  Computer Organization I. (3)  Numeric representation, logical gates, latches, adder design; architectural components: ALU, bus, IO devices; memory organization; instruction set design and tradeoffs, addressing techniques. Prerequisite: CS 211 with a grade of C- or better and CS 212 with a grade of C- or better or consent of department.

315  E-Commerce Technology. (3)  Concepts, design, and applications related to electronic commerce. Course is designed for nonmajors, especially those who will manage or operate an E-Commerce system in a business environment. Cannot be applied toward the computer science major. Prerequisite: CS 101 or an introductory programming class.

320  (formerly CS 440)  Ethical, Social and Legal Issues in the Digital World. (3)  Study of challenges and implications of computer technology for users and IT professionals. Topics include global perspectives on ethical, social and legal issues in software quality, freedom of expression, privacy, intellectual property, hacking, and computer crime. BGS online writing course. Prerequisite: junior standing.

350  Data Structures I. (3)  Review of basic structures. Analysis, comparison, and design of algorithms for data structure processing. Sorting, searching methods. Integration of data structures into large programming projects. Prerequisite: CS 214 with a grade of C- or better and MATH 128 or equivalent.

351  Data Structures II. (3)  Advanced data structures with emphasis on non-linear data structures. Strategies for constructing algorithmic problem solutions. Analyzing the time and space efficiency of algorithm implementations. Prerequisite: CS 350 with a grade of C- or better and MATH 255.

355  Automata and Computability Theory. (3)  An introduction to the modern theory of computing: automata theory, formal languages, and effective computability. Topics covered include finite automata and regular languages; pushdown automata and context-free languages; Turing machines and general computability; undecidability and the halting problem. Prerequisite: junior standing and MATH 255.

365  Microcomputer Graphics. (3)  Introduction to graphics commands in microcomputer BASIC. Graphics applications in various fields, including business, computer-aided design, education, and games. Not open to computer science majors.

371  UNIX I. (3)  An introduction to the UNIX environment. Includes shell commands, scripting, regular expressions, SED, process manipulation, forks, threads, shared memory, semaphores, and sockets. Prerequisite: CS 350 or Corequisite: CS 350.

380  Survey of Programming Languages. (3)  Comparative study of programming languages. Applications and features of common languages in terms of data definitions, structures, storage. Language implementations of common algorithms. Prerequisite: CS 214 or 230.

395  Computer Privacy and Security. (3)  Methods of protecting data in computer and communications systems from unauthorized disclosure or modification while maintaining availability for authorized users. Modern cryptographic methods: symmetric and public key cryptography, message digests, digital signature and certificates. Secure protocols: firewalls, VPNs and IDS. Prerequisite: CS 214 or consent of department.

396  Honors Seminar. (3, repeatable once)  Intended for computer science honors students. Topic varies with each offering of the course with no topic being repeated in any four-year period. Prerequisite: Honors Program participant or consent of department.

400  Computer Organization II. (3)  Computer systems analysis and design, interconnection structures, memory, input/output processors, machine instruction sets, microprogramming, CPU structures, control units, parallel processing, computer architectures and systems. Prerequisites: CS 214 and 310.

410  Operating Systems. (3)  Overview of the concepts/theory of operating systems with emphasis on process management, memory management, file management, scheduling, device management, and synchronization. Prerequisites: CS 310 and 350.

412  Graphical User Interface Programming. (3)  Development of programs that use multiple windows, dialog boxes, mouse input, interapplication communication using API calls, object-oriented frameworks and application builders. Prerequisites: CS 350.

415  E-Commerce Systems Development. (3)  Tools and technologies related to electronic commerce system development will be covered. Emphasis will be placed on developing the infrastructure and exploring the emerging technical issues in support of E-Commerce. Prerequisite: CS 350.

420  Computer Communication and Networks. (3)  Survey of the operational features of telecommunications systems, computer networks, and distributed-processing systems. Considerations for the design of real-time systems. Cannot be applied toward the network technologies major. Prerequisite: CS 351.

455  Computer System Security. (3)  Survey of major areas of computer system security. Emphasis on detection and prevention. Hardware and software discussed. Cannot be applied to the computer science major. Prerequisite: CS 101 or equivalent.

460  Artificial Intelligence Methods. (3)  Survey of major AI applications areas. Introduction to basic techniques in automatic problem solving, pattern recognition, natural language processing, robotics. Prerequisite: CS 351.

465  Computer Graphics. (3)  Introduction to computer-generation of graphs and pictures, using both character and pixel graphics methods, in two and three dimensions. Animation techniques, CAD methods. Computer lab projects. Prerequisite: CS 351.

470  Database Systems. (3)  Introduction to database concepts. Survey of semantic models such as entity-relationship, network, relational, hierarchical. Data normalization. Data sublanguages. Design, security, and integrity considerations. Survey of operational systems, their relation to data models. Prerequisite: CS 351 or NET 432.

473  Computer Simulation. (3)  Introduction to computer simulation techniques and programming languages, GPSS and SIMSCRIPT. Prerequisites: CS 350.

483  Microcomputer Systems with Database Applications. (3)  Covers command language, programming logic and applications of database systems for the noncomputer science major. Cannot be applied to the computer science major. Credit cannot be given for both CS 483 and CS 302.  Prerequisite: CS 101.

484  Network and Data Communications Concepts. (3)  Concepts and design of commercial computer and telecommunications networks. Course is designed for nonmajors, especially those who will manage or operate networks in a business environment. Cannot be applied toward the computer science major. Prerequisite: CS 101 or 203, or equivalent.

488  Introduction to Programming with Visual Basic. (3)  Introduction to the principles of programming for Windows in Visual Basic. Principles include event-driven programming, control structures, data types and structures, properties, events, methods of controls, and forms. Cannot be applied toward the computer science major. Prerequisites: CS 101 or MET 105, or equivalent.

490  Computer Science Seminar. (13, repeatable to 6, 3 per semester)  Special topics treating areas of computer science principles and/or applications. Prerequisite: consent of instructor.

491  Software Engineering I. (3)  This course will cover the design principles of large software systems. Emphasis will be on proper requirement analysis, software design, resource requirements, maintenance, prototypes, team participation, and the software engineering life cycle. Writing Instruction in the Discipline (WID) course. Prerequisites: CS 351, 355; ENG 280; and at least 85 s.h.; and consent of department.

492  Software Engineering II. (3)  This course is a continuation of CS 491. This course will cover the project management, implementation, testing, and maintenance of a large software system. Emphasis will be on teamwork and industrial standards for software development. Writing Instruction in the Discipline (WID) course. Prerequisite: CS 491.

495  Computer Science Internship. (112, repeatable to 12)  Credit for work experience in a research, governmental, or business organization. Internship project report required. Only 3 s.h. can be used for the major. Prerequisites: 15 s.h. of computer science courses and computer science department approval. Graded S/U only.

496  Senior Honors Seminar. (3)  Intended for senior honors students. This is a companion to the course CS 396, "Honors Seminar". Topic varies with each offering of the course. Prerequisite: Honors Program participant or consent of department.

497  Senior Honors Project. (3–6, repeatable to 6)  This course provides a project option within the departmental Honors Program. Project directed by a faculty member of the Department of Computer Science. Prerequisite: senior Honors Program participant or consent of department.

499  Independent Study. (13, repeatable to 6, 3 per semester)  Individual study or research in an area of computer science under the supervision of a computer science faculty member. Project report required. Prerequisite: approval of computer science department.

NETWORK TECHNOLOGIES (NET)
Formerly Telecommunications Management (TM)

321  Local Area Network Management. (3)  An examination of local area network topologies, protocols, and operating systems.  Topics will include the OSI 7 layer network model; packet switching, Ethernet, wireless LANs, and LAN Security. Prerequisite: CS 214. Prerequisite or Corequisite: CS 350 and STAT 171.

322  Wide Area Network Management. (3)  An examination of wide area network topologies, protocols, and architectures. Topics will include an overview of the Internet, switching technologies, packet switching networks, and the network architecture layers. Prerequisite:  NET 321, CS 350, and STAT 171. Prerequisite or Corequisite: MATH 255.

422  Web Technologies. (3)  An examination of the Web and its current development technologies.  Topics will include HTML, XML, scripting, Web databases, and Web services. Prerequisite: NET 321.

432  Network Performance Analysis. (3)  Introduces the basic concepts of computer network performance evaluation, modeling of traffic flows, network queues, delay, and loss models. Topics will also include performance evaluation of multiple access methods, measurement, and simulations of network performance. Prerequisite: NET 322; MATH 137, 255.

434  Distributed Systems. (3)  Covers the principles of distributed systems and their design. Topics will include the characteristics and constraints of distributed algorithms, security, and reliability issues of distributed systems. Prerequisite: NET 322.

436  Advanced Network Security. (3)  An examination of advanced network security issues. Topics will include advanced security models, encryption, intrusion detection, recovery, certificates, authentication, and biometrics. Prerequisite: NET 322 and CS 395.

490  Network Technologies Seminar. (1-3, repeatable to 6, 3 per semester)  Special topics treating areas of network technologies and/or applications. Prerequisites: junior standing and consent of department.

495  Network Technologies Internship. (1-12, repeatable to 12)  Work experience in a research, government, or business organization. Internship project report required. Only 3 s.h. can be used for the major. Prerequisite: 15 s.h. of network technologies major courses and department approval. Graded S/U only.

499  Independent Study. (1-3, repeatable to 6, 3 per semester)  Individual study or research in the area of network technologies under the supervision of a departmental faculty member.  Project report required. Prerequisites: junior standing and consent of the department.