Undergraduate Catalog

Computer Sciences

Director: Dr. Dennis M. DeVolder
Office: Stipes Hall 447
Telephone: (309) 298-1452
E-mail: C-Sciences@wiu.edu
Website: wiu.edu/computersciences

Program Offerings and Locations:

  • Bachelor of Science in Computer Science: Macomb
  • Bachelor of Science in Cybersecurity: Macomb
  • Bachelor of Science in Information Systems: Macomb, Quad Cities (Information Systems emphasis)
  • Minor in Algorithms and Data Management: Macomb
  • Minor in App Development: Macomb
  • Minor in Computer Science: Macomb, Online
  • Minor in Computer Science Education: Macomb, Quad Cities
  • Minor in Cybersecurity: Macomb
  • Minor in Information Systems: Macomb, Quad Cities
  • Minor in Information Technology: Macomb
  • Minor in Network Technologies: Macomb

Learning Outcomes

For student learning outcomes, please see wiu.edu/provost/learningoutcomes.

Faculty

Baramidze, Cardenas-Haro, Clayton, Covert, Deng, DeVolder, George, Kim, LaFlam, B. Lee, I. Lee, Leff, Mangalaraj, Maskarinec, J.M. McQuillan, Razzaque, Sen, Zhao.

GradTrac

GradTrac is available to Computer Science, Cybersecurity, and Information Systems majors. See more information about GradTrac.

Honors Curriculum

Academically qualified students in this School are encouraged to complete an honors curriculum in University Honors, Honors in the Major, or General Honors. All Honors students must complete the one-hour honors colloquium (G H 299). General Honors includes General Honors coursework. Honors in the Major includes honors work in the major. University Honors combines Honors in the Major and General Honors. View more information about honors curricula or visit the Centennial Honors College website at wiu.edu/honors.

Integrated Baccalaureate and Master’s Degree Program

Two integrated baccalaureate and master’s degree programs are available for the Bachelor of Science in Computer Science: Master of Science in Computer Science and Master of Business Administration. 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.

School Information

Since its commercial introduction in the 1940s, 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, Cybersecurity, or Information Systems is entering a dynamic career area filled with challenge and unlimited opportunities for individual growth.

The School of Computer Sciences offers a comprehensive curriculum. All students are expected to complete a core sequence in which they acquire the fundamental skills in computing or information systems and mathematics. Students may select advanced courses from a wide variety of specialized areas within Computer Science, Cybersecurity, or Information Systems. Current offerings permit the student to become involved with a broad spectrum of business and scientific applications, software, and database design, or the more theoretical basis of computing. The undergraduate degree programs offer course sequences leading to the Bachelor of Science in Computer Science, Bachelor of Science in Cybersecurity, and Bachelor of Science in Information Systems.

Degree Programs

Bachelor of Science—Computer Science

The program for the bachelor’s degree shall contain the required departmental core of 21 s.h., a depth component of 12 s.h., UNIX, and Departmental Electives chosen in consultation with the departmental advisor.

The School of Computer Sciences offers three emphases of courses designed to meet the career paths of its students; each student will choose an emphasis after consultation with the advisor and with the approval of the School.

The Computer Science major requires a minor from one of the other disciplines on campus. Students may choose any minor (except as outlined below) or an approved cognate minor.

All students seeking the Bachelor of Science in Computer Science must complete I, II, and III.A, III.B, or III.C below, and the foreign language/global issues requirement for the major#. The minimum semester hour requirement for the baccalaureate degree is 120 s.h.

Note : Students enrolled in this major may not minor in App Development or Algorithms and Data Management.

  1. University General Education Curriculum: 43 s.h.
    (To include MATH 133 for Computer Science or Cybersecurity emphasis; to include MATH 133 or 137 for Big Data Technologies emphasis)
  2. Core Courses: 21 s.h.
    CS 214, 250, 310, 351, 355, 491†, 492†
  3. Select one of the following emphases:
    1. Computer Science: 56 s.h.
      1. Depth Courses: 12 s.h.
        Choose four of the following: CS 400, 410, 420, 460, 465, 470
      2. CS/CSEC 371 3 s.h.
      3. Departmental Electives: 9 s.h.
        Choose from CSEC 375 or any CS course except CS 101, 102, 225, 302, 315, 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. Cybersecurity: 56 s.h.
      Note : Students enrolled in the Cybersecurity emphasis may not minor in Cybersecurity.
      1. Depth Courses: 6 s.h.
        Choose two of the following: CS 305, 306, 400, 410, 425, 470; IS 355; or any 300- or 400-level CSEC course
      2. CS/CSEC 371, 395, 398; CSEC 321, 322, 436; IS 315: 21 s.h.
      3. Other
        MATH 255 and STAT 276: 6 s.h.
      4. Minor: 16 s.h.
      5. Open Electives 7 s.h.
    3. Big Data Technologies: 56 s.h.
      1. Depth Courses: 12 s.h.
        CS 460, 470, 472, and either 425 or 478
      2. CS 433 and CS/CSEC 371: 6 s.h.
      3. Departmental Electives: 6 s.h.
        Choose two of the following: CS 465, 486; IS 340, 341, 405
      4. Other
        MATH 255 and STAT 276: 6 s.h.
      5. Minor: 18–20 s.h.
        Choose the minor in Applied Mathematics, the minor in Business Analytics, or a minor approved by the School of Computer Sciences
      6. Open Electives: 6–8 s.h.

# The foreign language/global issues graduation requirement may be fulfilled by successfully completing one of the following: 1) a designated foreign language requirement [see Foreign Language/Global Issues Requirement]; 2) a General Education global issues course; 3) any major’s discipline-specific global issues course; or 4) a Study Abroad program preapproved by the School.

† CS 491 and CS 492 fulfill the Writing Instruction in the Disciplines (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—Cybersecurity

Western Illinois University is recognized as a National Center of Academic Excellence in Cyber Defense (CAE–CD). All students successfully completing the requirements for the Bachelor of Science in Cybersecurity will receive a certificate confirming completion of a validated CAE–CD curriculum.

The Cybersecurity major is a comprehensive major.

All students seeking the Bachelor of Science in Cybersecurity must complete I, II, III, IV, and V below, and the foreign language/global issues requirement for the major#. The minimum semester hour requirement for the baccalaureate degree is 120 s.h.

Note : Students enrolled in this major may not minor in Information Systems or Information Technology.

  1. University General Education Curriculum: 43 s.h.
    (To include CS 214, STAT 171 [if STAT 276 is not chosen in IV.D,] either MATH 133 or MATH 137, and either POLS 101 or POLS 122)
  2. Core Courses: 54 s.h.
    CS 250, 305, 310, 320, 351, 410, 433; CS/CSEC 371, 395, 398; CSEC 321, 322, 375, 436, 482, 489; IS 315, 455
  3. Departmental Electives: 3 s.h.
    Choose 1 course from the following list: CS 306, 355, 470; CSEC 323, 330, 345, 494; IS 340, 345
  4. Other: 18 s.h.
    1. BCOM/CSTM/ET 320† or LEJA 443†: 3 s.h.
    2. MATH 255: 3 s.h.
    3. ACCT 200 or 201; ACCT 457: 6 s.h.
    4. Choose any two courses from the following list: 6 s.h.
      CHEM 251; CSEC 497; DS 303, 423, 435; LEJA 208, 415; POLS 300 or 302; STAT 276
  5. Open Electives: 2 s.h.

# The foreign language/global issues graduation requirement may be fulfilled by successfully completing one of the following: 1) a designated foreign language requirement [see Foreign Language/Global Issues Requirement]; 2) a General Education global issues course; 3) any major’s discipline-specific global issues course; or 4) a Study Abroad program preapproved by the School.

† BCOM/CSTM/ET 320 or LEJA 443 fulfills the Writing Instruction in the Disciplines (WID) graduation requirement.

Bachelor of Science—Information Systems

All students seeking the Bachelor of Science in Information Systems must complete I, II, III.A or III.B or III.C, IV, V, and VI below, and the foreign language/global issues requirement for the major#. The minimum semester hour requirement for the baccalaureate degree is 120 s.h.

Note : Students enrolled in this major may not minor in App Development or Algorithms and Data Management.

  1. University General Education Curriculum: 43 s.h.
    (To include MATH 133 or 137, STAT 171, and IS 325)
  2. Core Courses: 21 s.h.
    CS 214, 250; IS 340, 341, 342, 462, 467
  3. Select one of the following emphases: 24 s.h.
    1. Information Systems
      1. Directed IS Electives
        1. CS 484 or IS 324: 3 s.h.
        2. Choose 3 courses from IS 343, 405, 410, 415, 455: 9 s.h.
      2. Departmental Electives: 12 s.h.
        Choose 4 courses from CS 114 or any 300-level course or above in Computer Science (CS), Cybersecurity (CSEC), or Information Systems (IS) (except CS 302, 315, 420, 470, 483, 484; IS 324, 325)
    2. Cybersecurity
      1. CS 305; IS 315, (344 or 345), 455; (CS/CSEC 395 or CS 455); CSEC 321, 322: 21 s.h.
      2. Directed Electives: 3 s.h.
        Choose 1 course from CS 306; CS/CSEC 371, 398; CSEC 323, 330, 345, 375, 422, 436, 482, 489; IS 410, 415
    3. Business Intelligence
      1. IS 405: 3 s.h.
      2. Directed Electives: 6 s.h.
        Choose 2 courses from IS 335, 425; CS 433
      3. Departmental Electives: 15 s.h.
        Choose 5 courses from CS 114 or any 300-level course or above in Computer Science (CS), Cybersecurity (CSEC), or Information Systems (IS) (except CS 302, 315, 470, 483; IS 325, 405)
  4. Other: 6 s.h.
    BCOM/CSTM/ET 320†, DS 303
  5. Minor: 16 s.h.
    Select any business minor
    Note : Students enrolled in the Cybersecurity emphasis may not minor in Cybersecurity.
  6. Open Electives: 10 s.h.

# The foreign language/global issues graduation requirement may be fulfilled by successfully completing one of the following: 1) a designated foreign language requirement [see Foreign Language/Global Issues Requirement]; 2) a General Education global issues course; 3) any major’s discipline-specific global issues course; or 4) a Study Abroad program preapproved by the School.

† BCOM/CSTM/ET 320 fulfills the Writing Instruction in the Disciplines (WID) graduation requirement.

Minors

Minor in Algorithms and Data Management: 18 s.h.

Note: Not open to students whose major is in the School of Computer Sciences.

Note: If you wish to take CS 114 as part of this minor, please note that it must be taken before taking CS 214, as credit cannot be given for CS 114 after or in the same semester as credit is given for CS 214.

  1. CS 214, 250, 351, 433, 470: 15 s.h.
  2. Select one course from the following:
    CS 114, 460, 472, 486; DS 435, 490; MATH 255, 341 3 s.h.
Minor in App Development: 18 s.h.

Note: Not open to students whose major is in the School of Computer Sciences.

  1. CS 214, 250: 6 s.h.
  2. (CSEC 321 and CSEC 422) or (IS 340 and IS 415): 6 s.h.
  3. Select two courses from the following: 6 s.h.
    CS 425, 486; CSEC 345; IS 341
Minor in Computer Science 18 s.h.
Traditional
  1. CS 114, 214, 250: 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.
Computer Applications
  1. CS 101, (CS 114 or CS 220 or CS 488), (CS 301 or CS 302), and (CS 315 or IS 340): 12 s.h.
  2. Computer Science Electives: 6 s.h.
    Note: All 6 s.h. must be at the 300 level or above.
Minor in Computer Science Education 18 s.h.

Note: This minor is not sufficient for an Illinois Professional Educator License.

Note: Not open to students enrolled in the Computer Science major.

  1. CS 214, 250, 315, 320, 439: 15 s.h.
  2. Select one course from the following:
    CS 114 (if taken prior to CS 214), 210, 343, 433: 3 s.h.
Minor in Cybersecurity 18 s.h.

Note: Not open to students enrolled in the Cybersecurity major, the Cybersecurity emphasis within the Computer Science major, or the Cybersecurity emphasis within the Information Systems major.

  1. CSEC 321; IS 315: 6 s.h.
  2. Choose one course from each of the following categories:
    1. CS 114 or CS 214: 3 s.h.
    2. CS/CSEC 395 or CS 455: 3 s.h.
  3. Choose 6 s.h. from the following:
    CSEC 101, 102; CS 305, 306, 320; IS 455; or any 300- or 400-level CSEC course: 6 s.h.
Minor in Information Systems 18 s.h.

Note : This minor is not open to students majoring in Cybersecurity.

  1. CS 214; IS 340, 341, 342: 12 s.h.
  2. Select remaining hours from CS 114 or upper division IS courses: 6 s.h.
Minor in Information Technology 18 s.h.

Note : This minor is not open to students majoring in Cybersecurity.

  1. CS 114 or 214; IS 340; CSEC 321: 9 s.h.
  2. Choose one course from each of the following categories: 9 s.h.
    1. Computer Science: CS 305, 315, 320, 455, 483
    2. Information Systems: IS 315, 325, 341, 355, 415
    3. Cybersecurity: CSEC 322; CS/CSEC 395, 398
Minor in Network Technologies 18 s.h.
  1. CS 114, 214; CSEC 321, 322: 12 s.h.
  2. Choose any two from: CSEC 323, 375, 422, 436; CS 320; CS/CSEC 395: 6 s.h.

Course Descriptions

COMPUTER SCIENCE (CS)

101 Computer Literacy I. (3) Covers computer hardware and computing concepts; introduction to word processing, 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 or 203. IAI: BUS 902

102 Computer Literacy II. (3) Covers advanced word processing, 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.

114 Introduction to Computer Science. (3) (General Education/Natural Sciences and Mathematics) Introduction to computer algorithms, problem specification, correctness, computer structure, sets, truth tables, functions, and iteration. Presentation of basic principles of a current programming language. Credit cannot be given for CS 114 after or in the same semester as credit is given for CS 214. Credit cannot be given for CS 114 and CS 211 or CS 212 or CS 201.

214 Principles of Computer Science. (3) (General Education/Natural Sciences and Mathematics) Introduction to computer program design, testing, documentation, simple data structures, references, sorting, searching, and algorithm development. Credit cannot be given for both CS 214 and CS 202. Corequisite: MATH 128. 3 hrs. lect.; 1 hr. lab. IAI: CS 911.

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.

232 Computer Game Design. (3) Design and develop games using the cross-platform Unity game engine (or similar engines). Game engine skills and related programming skills in a highlevel language such as C#. Projects and challenges to hone these skills. Prerequisite: CS 114 or 214.

250 Data Structures I. (3) Review of basic structures; object-oriented techniques; analysis, comparison, and design of algorithms for data structure processing; binary trees, recursion; sorting, searching methods. Prerequisites: CS 214 with a grade of C- or better and MATH 128 or equivalent. IAI: CS 912.

301 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. Prerequisite: CS 101 or CS 114 or CS 214 or equivalent.

306 Advanced Computer Forensics. (3) Computer forensic software will be used for data acquisition and analysis. Topics include forensic issues common to file systems, evidence collection, and case building tasks regularly used in the analysis of electronic evidence. Prerequisite: CS 305.

310 Computer Organization I. (3) Numeric representation, logic gates, latches, adder design; architectural components: ALU, bus, IO devices; memory organization; instruction set design and tradeoffs, addressing techniques. Prerequisites: CS 214.

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 CS 114 or an introductory programming class.

320 Ethical, Social and Legal Issues in the Digital World. (3) (Global Issues) 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.

343 Physical Computing. (3) Building interactive physical systems using software and hardware to sense and control the physical world. Topics include software development with sensors, electro-mechanical devices, microcontrollers, and peripheral devices. Prerequisite: grade of C- or better in one of the following: CS 114, 214, 225, 488.

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. Prerequisites: CS 250 with a grade of C- or better and (MATH 255 or MATH 341).

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. Prerequisites: junior standing and (MATH 255 or MATH 341).

371 (Cross-listed with CSEC 371) UNIX. (3) An introduction to the UNIX environment. Includes shell commands, scripting, regular expressions, SED, process manipulation, forks, threads, process synchronization, introduction to system programming. Not open to students with credit in CSEC 371. Prerequisite: CS 250 or Corequisite: CS 250.

395 (Cross-listed with CSEC 395) Computer Security Fundamentals. (3) Computer and cybersecurity basics: terminology, security principles, data security, security mechanisms, usable security, network defense, OS security, and legal/ethical issues. Not open to students with credit in CSEC 395. Prerequisite: CS 214 or consent of School.

398 (Cross-listed with CSEC 398) Cybersecurity Principles. (3) Basics of security design principles, security mechanisms, security policies, and network defense. Topics: security design, threats, risk assessment, access control models, network defense, firewalls, and legal/ ethical issues. Not open to students with credit in CSEC 398. Corequisite: CSEC 322. Prerequisites: CS 250 and CS/CSEC 371.

400 Computer Organization II. (3) Computer systems analysis and design, interconnection structures, memory, input/output processors, machine instructions 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. Credit cannot be given for both CS 410 and CS 511. Prerequisites: CS 310 and (CS 250 or CS 500*). (* If taking CS 410G.)

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 250.

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. Credit cannot be given for both CS 420 and (CS 484 or CS 555 or IS 324). Cannot be applied toward the Cybersecurity major. Prerequisite: CS 351 or CS 500*. (* If taking CS 420G.)

425 Server-Side Web Development. (3) Significant development of server-side web applications using server-side architecture and a current scripting language. Prerequisite: CS 351 or (CS 250 and IS 415) or (CS 250 and CSEC 422).

433 (Formerly CS 210) Python for Data Exploration. (3) Programming data-intensive and computational applications in Python. The emphasis is on using Python’s various technical libraries and tools geared toward data manipulation, visualization, and analysis, as well as scientific computing. Relevant case studies are used to hone these skills. Prerequisites: (CS 114 or CS 214) and (MATH 128 or STAT 171).

434 (Cross-listed with CSEC 434) Distributed Systems for Big Data. (3) Principles of distributed systems and their design for big data applications. Topics include the characteristics and constraints of distributed algorithms, reliability, scalability, and data intensive applications. Big data applications such as big data storage and scientific simulations are discussed. Not open to students with credit in CSEC 434. Prerequisites: CS 250 and (CSEC 322 or CS 410).

439 Methods of Teaching Middle and High School Computer Science. (3) Designed to aid the middle and high school computer science teacher in developing curriculum objectives, learning standards implementation, materials, computer learning environments, and evaluation and assessment. Includes reading, analyzing, and debugging code through exercises, demonstrations, discussions, lectures, and classroom participation. Prerequisite: CS 250.

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 CS 114 or (CS 101 and CSEC 102) or equivalent.

460 Artificial Intelligence Methods. (3) An introduction to the main principles and methods of artificial intelligence. Solving problems by searching, knowledge, and reasoning; machine learning; current AI applications. Programming paradigms relevant to AI will be explored. Credit cannot be given for both CS 460 and CS 547. Prerequisite: CS 351 or CS 500*. (* If taking CS 460G.)

465 Computer Graphics. (3) Introduction to computer-generation of images of 3D scenes using modern graphics API (such as OpenGL with GLSL). Emphasis on programming techniques for rendering, animation, and 3D modeling, as well as necessary mathematical foundations. Credit cannot be given for both CS 465 and CS 565. Prerequisite: CS 351 or CS 500*. (* If taking CS 465G.)

470 Database Systems. (3) Survey of data models with emphasis on the relational model. Data normalization. Query languages and query optimization. Design and security considerations. Exposure to commercial database management systems. Credit cannot be given for both CS 470 and (CS 483 or CS 521 or IS 342). Prerequisite: CS 351 or CS 500* or (CS 250 and (CS/CSEC 395 or CS/CSEC 398 or CSEC 432)). (* If taking CS 470G.)

472 Introduction to Big Data. (3) This course focuses on the big data technologies that facilitate the preparation, storage, and processing of big data. Specific state-of-the-art big data technologies such as distributed file systems, parallel programming models, and high performance databases are covered. Prerequisites: CS 310 and (CS/CSEC 371 or CSEC 375).

478 GPU Programming. (3) Graphics Processing Unit (GPU) programming. Parallel algorithms and programming techniques for GPUs. Sorting algorithms, matrix manipulation algorithms, sparse matrices. Prerequisites: CS 351 and CS/CSEC 371.

481 Database Programming. (3) Introduction to practical aspects of querying relational databases (using SQL). Creating applications written in high-level, general-purpose programming languages (Python) for interacting with databases. Necessary programming fundamentals, principles of database querying, developing applications that work with databases. Cannot be applied toward the Computer Science major. Prerequisites: STAT 171 and junior standing, or permission of instructor.

483 Elementary Database Applications. (3) Covers command language, programming logic, and applications of database systems for the non-Computer Science major. Cannot be applied to the Computer Science major. Credit cannot be given for both CS 483 and (CS 302 or CS 470 or IS 342). Prerequisite: CS 101 or 114.

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. Credit cannot be given for both CS 484 and (IS 324 or CS 420). Prerequisite: CS 101 or CS 114 or CS 214 or (CS 211 and CS 212).

486 Mobile Application Development. (3) Development of applications for mobile computing devices. Topics include mobile platforms and languages; application design for small screens; battery and resource management; debugging and testing techniques; and application distribution ecosystems. Prerequisite: CS 250 or permission of instructor.

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. Prerequisite: CS 101 or ET 105, or equivalent.

491 Software Engineering I. (3) This course will focus on the design principles of large software systems. Topics include software life cycle models, agile methods, requirements engineering, object-oriented design and analysis, software architecture styles, prototyping, and team participation. Writing Instruction in the Disciplines (WID) course. Prerequisites: CS 351, 355; ENG 280; and at least 85 s.h.; or consent of School.

492 Software Engineering II. (3) This course covers project management, implementation, testing, and maintenance of a large software system following industrial standards. Topics include scheduling, estimation, source control, testing strategies, testing techniques, and teamwork. Writing Instruction in the Disciplines (WID) course. Prerequisite: CS 491.

495 Computer Science Internship. (1–12, 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: Computer Science major, 15 s.h. of Computer Science courses, and written permission of the School director. Graded S/U only.

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 School of Computer Sciences. Prerequisite: senior Honors Program participant or consent of School.

499 Independent Study. (1–3, 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 School of Computer Sciences.

CYBERSECURITY (CSEC)

101 Introduction to Cybersecurity I. (2) (General Education/Human Well-Being) An introductory overview on the importance of cybersecurity, cyber hygiene and online safety, usable security, social engineering, technological aspects of cybercrimes, cyber threats, cyber defense, and legal/ethical issues.

102 Introduction to Cybersecurity II. (1) This course emphasizes best practices in cyberspace for privacy and security. Lab exercises cover elementary topics in cybersecurity such as software security, access control, cryptography, cyber threat awareness, the deep web, human factor security, social engineering, and network defense. Prerequisite: CSEC 101.

321 Network Fundamentals. (3) Introduction to the diverse software and hardware components of a computer network. Topics include OSI and TCP/IP network architecture, overview of TCP/IP protocols, access networks, network topologies, circuit, packet and virtual circuit switching, switched LANs, and LAN Security. Prerequisite: CS 114 or 214.

322 Switching and Routing I. (3) An examination of network protocols for creating and managing a switched network. Topics will include Ethernet LANs, Virtual LANs, VLAN trunking, network and link layer addressing, subnetting, DHCP, access control lists, NAT and introduction to routing. Prerequisite: CSEC 321. 3 hrs. lect.; 1 hr. lab.

323 Switching and Routing II. (3) An examination of interior and exterior routing protocols. Topics will include intra-AS and inter-AS routing protocols, IPv4 and IPv6 routing configuration, load balancing routing, VPN tunnels, and managing network devices via SNMP. Prerequisite: CSEC 322. 3 hrs. lect.; 1 hr. lab.

330 Cyber-Physical Systems. (3) This course introduces the fundamentals and security challenges in emerging cyber-physical systems. Topics include system modeling, analysis, design and simulation, scheduling, and security. Prerequisites: CS 305 and CSEC 321.

345 Secure Coding and Design. (3) Secure software design. Identifying and fixing security flaws in code. String security flaws and resulting vulnerabilities, including buffer overflows, stack smashing, and code injection. Pointers, I/O, runtime protection strategies, and dynamic memory management. Prerequisite: CS 250 and CS/ CSEC 371, or permission of the School.

371 (Cross-listed with CS 371) UNIX. (3) An introduction to the UNIX environment. Includes shell commands, scripting, regular expressions, SED, process manipulation, forks, threads, process synchronization, introduction to system programming. Not open to students with credit in CS 371. Prerequisite: CS 250 or Corequisite: CS 250.

375 Linux Systems Administration. (3) Administration of server systems, configuring users, groups, and devices, software management, backups, network services configuration, server security and performance, scripts for server management. Prerequisite: CS/CSEC 371 or permission of School.

395 (Cross-listed with CS 395) Computer Security Fundamentals. (3) Computer and cybersecurity basics: terminology, security principles, data security, security mechanisms, usable security, network defense, OS security, and legal/ethical issues. Not open to students with credit in CS 395. Prerequisite: CS 214 or consent of School.

398 (Cross-listed with CS 398) Cybersecurity Principles. (3) Basics of security design principles, security mechanisms, security policies, and network defense. Topics: security design, threats, risk assessment, access control models, network defense, firewalls, and legal/ ethical issues. Not open to students with credit in CS 398. Corequisite: CSEC 322. Prerequisites: CS 250 and CS/CSEC 371.

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: CSEC 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. Prerequisites: CSEC 322; (MATH 133 or 137); MATH 255; STAT 171.

434 (Cross-listed with CS 434) Distributed Systems for Big Data. (3) Principles of distributed systems and their design for big data applications. Topics include the characteristics and constraints of distributed algorithms, reliability, scalability, and data intensive applications. Big data applications such as big data storage and scientific simulations are discussed. Not open to students with credit in CS 434. Prerequisites: CS 250 and (CSEC 322 or CS 410).

436 Advanced Network Security. (3) An examination of advanced network security and network defense. Topics include network defense, applied cryptography, security protocols, defense tools, security policies and implementation, and operational procedures. Credit cannot be given for both CSEC 436 and CS 505. Prerequisites: CS/CSEC 395 and CSEC 322 and CS/CSEC 398, or permission of School.

482 Wireless LANs and Security. (3) Radio Frequency Fundamentals, features and functions of Wireless LANs, Spread Spectrum Techniques, IEEE 802.11 architecture, Wireless LAN Security, Designing and Troubleshooting Wireless LANs. Prerequisites: CS/CSEC 395 and CSEC 322.

489 Penetration Testing and Ethical Hacking. (3) Introduction to the techniques and tools for information gathering and vulnerability assessment of networked systems. Topics include target enumeration, network sniffing, client and remote exploitation, web and wireless hacking. Prerequisites: (CSEC 321 or CS 420 or CS 555), (CS/ CSEC 395 or CS 505), and (CS/CSEC 371 or CSEC 375).

494 Topics in Cybersecurity. (3) Examination of advanced and emerging topics in Cybersecurity. Prerequisites: CS/CSEC 395 and junior standing.

495 Cybersecurity 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. Prerequisites: Cybersecurity major, 15 s.h. of Cybersecurity courses, and written permission of School director. Graded S/U only.

497 Senior Honors Project. (3–6, repeatable to 6) Provides a project option within the Cybersecurity Honors program. Project directed by a faculty member in the School of Computer Sciences. Prerequisite: Senior CSEC Honors Program participant or consent of the School of Computer Sciences.

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

INFORMATION SYSTEMS (IS)

315 IT Systems Components. (3) An introduction to IT systems components in Information Systems. Topics covered relate to hardware, software, networks, and their role in system operation in an organizational context. Prerequisite: CS 114 or CS 214.

324 Enterprise Network and Data Communication Concepts. (3) This course provides an introduction to data communication networks. The course will focus on the services, capabilities, and limitations of communication networks in a business organizational context. Credit cannot be given for both IS 324 and (CS 484 or CS 420). Prerequisite: CS 101 or CS 114 or CS 214 or (CS 211 and CS 212).

325 Global Social Networks. (3) (General Education/Multicultural Studies) (Global Issues) This course on global social networks, including virtual communities, places emphasis on fundamental information technology, facilitation methods, and practical operations of virtual communities and social networks in a global and cross-cultural environment. Prerequisites: at least one course in each of Category III and Category IV of the General Education Curriculum.

335 Introduction to Cloud Computing. (3) This course will examine cloud computing concepts and the associated models. Topics discussed include cloud architecture, infrastructure, identity management, cloud storage, cloud network management, and cloud performance/ capacity management. Serverless and edge computing will also be discussed. Prerequisite: CS 214.

340 Introduction to Information Systems. (3) Develop a thorough understanding of what information systems are, their technical foundations, where they are used in organizations, and how they are developed.

341 Business Systems Analysis. (3) Develop an understanding of concepts and techniques of business information systems analysis. Emphasis upon system development life cycle. Prerequisites: CS 214 and IS 340.

342 Enterprise Database Management. (3) A study of the theory and application of database management systems including their design, development, and management. Credit cannot be given for both IS 342 and (CS 483 or CS 470). Prerequisites: IS 341.

343 Strategic Systems. (3) The role, implications, and relevance of Information Technology (IT) in managing businesses; management issues concerning IT strategy, planning, and competitive advantage; process innovation and re-engineering; and organizational transformation. Prerequisites: IS 340 or consent of director.

344 Telecommunications Planning Management. (3) An introduction to business management tools and techniques necessary to plan and manage a company’s telecommunications and network functions. Topics include telecommunications management and network administration basics; telecommunications planning and project management; and operations and acquisition management. Prerequisites: CS 214 or permission of School director.

345 Foundations of Information Technology Service Management. (3) This course introduces concepts, models, and tools necessary to provide information technology services to users. Topics include frameworks of Information Technology Service Management (ITSM) and Information Technology Infrastructure Library (ITIL). Credit cannot be given for both IS 345 and IS 344. Prerequisites: CS 214.

405 Business Intelligence. (3) This course focuses on the features, uses, and design strategies for IT-enabled business intelligence systems. Data-oriented techniques for managing data, warehousing, integration, and visualization for corporate decision making are emphasized. Prerequisite: IS 340 or CS 351 or permission of School director.

410 Enterprise Architecture. (3) This course explores the design, selection, implementation, and management of enterprise IT solutions. The focus is on IT applications and infrastructure and their fit within business organizations. Prerequisites: IS 342 or permission of School director.

415 Web IT Systems Development and Management. (3) This course will cover tools and technologies related to Web IT Systems development and management. Emphasis will be placed on developing the infrastructure and exploring the emerging technical and managerial issues in support of Web IT Systems. Prerequisites: CS 214.

425 Artificial Intelligence Applications and Management. (3) This course will examine concepts in artificial intelligence, machine learning, natural language processing, and computer vision, among others, in the context of business applications. It will also review ethical, business, and organizational challenges in developing AI capabilities. Prerequisites: (CS 214 and IS 340) or IS 405.

455 (Formerly IS 355) Information Assurance. (3) This course examines implications and challenges of operational security in global IT organizations, and reviews legal, social, and ethical issues related to security management. Topics include IT security policy development, risk management, threat assessment, and business continuity planning. Prerequisites: IS 340 or CS 420 or CS 484 or CSEC 321 or consent of School.

460 Independent Study in Information Systems. (1–3, repeatable to 3) Independent study with written report on a problem mutually selected by student and instructor. For Information Systems majors only. Prerequisites: IS 341 and senior standing, with written permission of School director.

462 IS Project Management and Development. (3) Study of the issues and challenges in managing information systems’ development projects. Students will also identify, develop, and implement a solution to an information systems’ problem. Prerequisite: IS 341.

467 Topics in Enterprise Systems. (3) This course is designed to provide an understanding of the theoretic and practical issues related to the application of Enterprise Systems within organizations with a focus in the integration of information and organizational forms and processes across functional areas using unified systems. Prerequisite: IS 341 or ACCT 451 or permission of School.

470 Internship in Information Systems. (3–12, repeatable to 12) Work experience, on- or off-campus, in an organization involving computerized information systems. Intern will be supervised by a faculty coordinator and an executive in the business firm. Reports of work experience are submitted to the coordinator periodically. Final report required. Only 3 s.h. can be used for the major. Prerequisites: Information Systems major; IS 341, 342; junior or senior standing; and written permission of School director. Graded S/U only.

497 Senior Honors Project. (3–6, repeatable to 6) Provides a project option within the Information Systems Honors program. Project directed by a faculty member in the School of Computer Sciences. Prerequisite: Senior IS Honors Program participant or consent of the School of Computer Sciences.