Western Illinois University: Macomb Campus
Web Tools and Search Bar
2010-2011 Undergraduate Catalog
Office: Stipes Hall 447
Telephone: (309) 298-1452 Fax: (309) 298-2302
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.
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.
General Education Curriculum: 43
(To include MATH 133 - Traditional Option or MATH 137 - Business Option)
CS 211, 212, 214, 310, 350, 351, 355, 491†, 492†
of Study (select A or B)
Choose four of the following: CS 400, 410, 420, 460, 465, 470
- CS 371: 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.
MATH 255, 311, and STAT 276: 9 s.h.
- Minor: 16 s.h.
- Open Electives: 7 s.h.
- Depth Courses: 12 s.h.
Choose four of the following: CS 400, 410, 420, 460, 465, 470
- CS 220, 230: 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.
MATH 255 and STAT 276: 6 s.h.
- Minor: 16 s.h.
- Open Electives: 10 s.h.
- Depth Courses: 12 s.h.
- Computer Science (Traditional)
†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.
General Education Curriculum: 43
(To include STAT 171 and MATH 137)
CS 211, 212, 214, 310, 350, 395; NET 321, 322, 432, 434
Choose six of the following: NET 422, 436, 490, 495, 499; CS 320, 371, 400, 415, 470
- Other: 12
POLS 300, IS 320†, IS 344, MATH 255
- Minor: 16
Note: Network Technologies majors may not minor in Computer Science
- Open Electives: 4 s.h.
†Completion of IS 320 fulfills the Writing Instruction in the Discipline (WID) graduation requirement.
Minor in Computer Science: 18 s.h.
- CS 211, 212, 214, 350: 9 s.h.
- Computer Science Electives: 9 s.h.
Note: A total of 6 s.h. must be at the 300 level or above.
- CS 101, (211 and 212 or 220 or 488), (301 and 483) or (302 and 315): 12 s.h.
- Computer Science Electives: 6 s.h.
Note: A total of 6 s.h. must be at the 300 level or above.
COMPUTER SCIENCE (CS)
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.
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.
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.
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.