Undergraduate Catalog 2022-2023
Sub-Menu

Computer Science (Univ) (CS)

CS 121    Computational Problem Solving    4 Hours

Students will tackle problems ranging from elementary to advanced, using mathematical methods, algorithmic techniques, and computational methods. This course is taught jointly by mathematics and computer science faculty.

Restriction(s): Enrollment limited to students with a semester level of Academy Junior or Academy Senior.

Equivalent(s): MATH 121

Recent Term(s) Offered: None

CS 146    Introduction to Programming    3 Hours

A study of the algorithmic approach in the analysis of problems and their computational solutions. A structured language will be introduced and used in solving assigned problems. Lab sessions may be held in addition to lecture sessions. Not accpetable for credit in computer science major or minor. Note: Two years of high school algebra or concurrent enrollment in a college algebra course required. Colonnade/Statewide General Education Code F-QR | QR

Course Fee: $45

Recent Term(s) Offered: fall 2020; spring 2021; fall 2021; spring 2022; fall 2022

CS 157    Information Security I    3 Hours

An introduction to the concepts, issues, and essential skills of computer security. Topics include computer-based systems, internet communications, networking, and security. Laboratory sessions will be held as needed. May not be counted toward a computer science major or minor.

Recent Term(s) Offered: spring 2021; spring 2022

CS 170    Problem Solving and Programming    3 Hours

The fundamentals of problem solving, program design, and program development techniques. A high-level programming language is used and lab experiences are included. The course may not be counted toward a computer science major or minor.

Prerequisite(s): (MPE - Algebra with a score of 14 or SAT Mathematics Score with a score of 560 or ACT Math with a score of 22 or KYOTE College Algebra with a score of 14) or MATH 115 (may be taken concurrently) or MATH 116 (may be taken concurrently)

Course Fee: $45

Recent Term(s) Offered: spring 2020; fall 2020; spring 2021; fall 2021; spring 2022; fall 2022

CS 175    University Experience – Computer Science    3 Hours

Transition to university experience. Topics include study skills, critical thinking skills, library education, exploration of majors and careers degree programs, campus resources, and personal development. Special attention is given to educational requirements, careers, and resources in the field of computer science.

Recent Term(s) Offered: None

CS 180    Computer Science I    4 Hours

A study of the algorithmic approach to the analysis of problems and their computational solutions, using a high-level structured language. Labs are included in the course.

Prerequisite(s): (CS 170 with a minimum grade of C or (ACT Math with a score of 22 and MPE - Algebra with a score of 18) or ACT Math with a score of 27 or MATH 116 with a minimum grade of C or MATH 116E with a minimum grade of C or MA 116C with a minimum grade of C or MATH 123 (may be taken concurrently) with a minimum grade of C)

Course Fee: $45

Recent Term(s) Offered: spring 2020; fall 2020; spring 2021; fall 2021; spring 2022; summer 2022; fall 2022

CS 221    Computer Science II    4 Hours

Continued study of algorithmic problem solving techniques using software engineering and a high-level programming language. Introduction to data structures and their applications. Labs are included in this course. Note: Eligibility to enroll in a calculus course based on criteria developed by the Department of Mathematics.

Prerequisite(s): ((ACT Math with a score of 27 or SAT Mathematics Score with a score of 650) or (ACT Math with a score of 22 and MPE - Algebra with a score of 20 and MPTE - Trigonometry with a score of 10) or (MATH 117 with a minimum grade of C or MA 117C with a minimum grade of C or MATH 118 with a minimum grade of C or MATH 136 with a minimum grade of C or MATH 137 with a minimum grade of C)) and CS 180 with a minimum grade of C

Course Fee: $45

Recent Term(s) Offered: spring 2020; fall 2020

CS 239    Problem Solving with Computational Techniques    3 Hours

Solving engineering problems using computational techniques. Topics include problem definition, algorithm development, flowcharting, input/output and structured programming. May count as 1.5 hours towards a major/minor in Computer Science. Note: Placement into a science calculus course may be required for course enrollment.

Prerequisite(s): (MATH 117 with a minimum grade of C or MATH 136 (may be taken concurrently) with a minimum grade of C or MATH 137 with a minimum grade of C or MATH 237 with a minimum grade of C or MATH 331 with a minimum grade of C)

Course Fee: $45

Recent Term(s) Offered: fall 2020; fall 2021; fall 2022

CS 245    Introduction to a Computer Programming Langauge    1.5 Hour (repeatable max of 3 hrs)

Designed to introduce the syntax, advantages, limitations, and selected applications of a particular programming language such as ADA, BASIC, C, FORTRAN, LISP, COBOL, PL/l, or assembly language. Will not count toward a computer science major or minor if credit is received for an introduction to the same language in another course.

Prerequisite(s): CS 146 with a minimum grade of C

Recent Term(s) Offered: None

CS 250    Social Implications of Computing    1.5 Hour

A survey course on the role of computing in society, designed primarily for computer science majors and minors. Discusses current topics related to the use of computing and associated trends.

Corequisite(s): CS 180

Recent Term(s) Offered: None

CS 257    Information Securtiy II    3 Hours

An overview of information security technologies, management practices and current standards. Topics include security models and technologies, threat analysis and security implementation, risk and incident response management and security policy. Lab sessions will be held as needed. May not be counted toward a computer science major or minor.

Prerequisite(s): CS 157 with a minimum grade of C

Recent Term(s) Offered: None

CS 270    Introduction to Web Programming    3 Hours

Introductory course in web programming and web application development. Provides students with essential skills for developing basic client-side and server-side applications.

Prerequisite(s): CS 180 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022

CS 290    Computer Science II    4 Hours

A study of object-oriented software development and programming concepts including inheritance, polymorphism, stack, queue, list, and introduction to recursion and their applications, including user-interface design.

Prerequisite(s): CS 180 with a minimum grade of C and (MATH 117 with a minimum grade of C or MA 117C with a minimum grade of C or MATH 118 with a minimum grade of C or MATH 136 with a minimum grade of C or MATH 137 with a minimum grade of C)

Course Fee: $45

Recent Term(s) Offered: spring 2021; fall 2021; spring 2022; fall 2022

CS 295    Introduction to Research Methodology    1 Hour

To familiarize Ogden Research Scholars and other research oriented students, with the fundamentals of choosing a research topic, performing a bibliographical search on a subject, topic, classification of instruments, data taking, data reduction, professional ethics and other research oriented topics. The common points of research methodology in the different scientific areas will be accentuated. Examples will be drawn from the various disciplines. Use of computers will be emphasized. (Course does not count towards any major or minor). Note: Ogden Research Scholar, or 3.2 grade point average at the end of freshman year, or Ogden College faculty member recommendation required.

Equivalent(s): ENGR 295, CHEM 295, GEOL 295, MATH 295, BIOL 295, PHYS 295

Recent Term(s) Offered: None

CS 299    Introduction to Research in Computer Science    1-3 Hours (repeatable max of 6 hrs)

Directed research in computer science through reading, programming and/or other problem solving activities under the guidance of a faculty member. Note: Permission of instructor may be required.

Prerequisite(s): CS 180 with a minimum grade of B and CS 221 with a minimum grade of B

Recent Term(s) Offered: spring 2020; fall 2020; spring 2021; fall 2021; spring 2022; fall 2022

CS 301    Game Programming    3 Hours

An introductory study of game software development including game object creation, animation, audio, game logic, and game engines. Design, prototyping, and development of a playable game using modern techniques will be covered.

Prerequisite(s): CS 146 with a minimum grade of C or CS 170 with a minimum grade of C or CS 180 with a minimum grade of C or CS 239 with a minimum grade of C

Recent Term(s) Offered: spring 2021; fall 2021; spring 2022; fall 2022

CS 315    Introduction to Unix    3 Hours

Use of the UNIX operating system as a program development environment. Topics include programming tools like debuggers, make, advanced editing, shell programming, and use of the X Window system. Note: Permission of instructor may be required.

Prerequisite(s): CS 290 with a minimum grade of C

Recent Term(s) Offered: fall 2020; fall 2021; fall 2022

CS 325    Computer Organization and Architecture    3 Hours

Advanced assembly programming, instruction sets, processor I/O and bus protocols, memory management, system performance, parallelism, and advanced systems.

Prerequisite(s): CS 290 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; fall 2021; fall 2022

CS 331    Data Structures    3 Hours

Analysis and efficient implementation of container types and applications such as priority queues, hash tables, search trees, and graphs; sorting algorithms.

Prerequisite(s): CS 290 with a minimum grade of C

Recent Term(s) Offered: fall 2021; spring 2022; fall 2022

CS 339    Discrete Structures    3 Hours

Finite and discrete structures, including basic proof techniques, algorithm analysis, graph concepts and algorithms, with their applications in computer science.

Prerequisite(s): CS 290 with a minimum grade of C and MATH 136 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022

CS 351    Database Management Systems I    3 Hours

An introduction to relational database management systems and their applications. Topics include relational model, relational algebra, SQL, indexes, security, integrity rules, effective database design methods, and database applications.

Prerequisite(s): CS 290 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; fall 2021; spring 2022

CS 360    Software Engineering I    3 Hours

Modern development cycle examined via software engineering: needs assessment, requirements analysis, user interface, design, construction, test, maintenance/enhancement. Current methodologies and tools: data dictionary, data flow diagrams, structured walkthroughs, teams, program management.

Prerequisite(s): (CS 331 with a minimum grade of C and CS 351 with a minimum grade of C) or (CS 239 with a minimum grade of B or CS 180 with a minimum grade of B and EE 380 with a minimum grade of C) and COMM 145 with a minimum grade of C

Recent Term(s) Offered: fall 2020; fall 2021; fall 2022

CS 369    Cooperative Education in Computer Science    1-3 Hours (repeatable max of 3 hrs)

Practical experience in a supervised work situation with a cooperating business, industry, social or governmental agency. Note: Application for enrollment in cooperative education plan; approval of department head and co-op faculty advisor required.

Recent Term(s) Offered: summer 2022

CS 370    XML and Web Programming    3 Hours

A detailed study of tiered Web application development. Focus is on developing applications that process and transform XML data and integrate it with databases.

Prerequisite(s): CS 270 with a minimum grade of C and CS 331 with a minimum grade of C

Recent Term(s) Offered: None

CS 371    Advanced Computational Problem Solving    3 Hours

Problem-solving tools and techniques, with an emphasis on mathematical reasoning, algorithmic techniques, and computational methods. Techniques and tools are applied to (research) areas of interest to enrolled students, in the context of a project involving program design and implementation. The course is taught jointly by mathematics and computer science faculty. Note: Enrollment in the Gatton Academy of Mathematics and Science or Honors Program eligibility at WKU required.

Prerequisite(s): CS 180 with a minimum grade of C and MATH 136 (may be taken concurrently)

Equivalent(s): MATH 371

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022

CS 372    Mobile App Development    3 Hours

Introduces and explores mobile app programming, important environment features; and mobile app development frameworks, architecture, and design.

Prerequisite(s): CS 290 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2022

CS 381    Introduction to Computer Networks    3 Hours

An introduction to the design and analysis of computer networks and their applications, including the basics of data communication, network topologies, protocols, routing and swtiching, naming and addressing.

Prerequisite(s): CS 290 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022

CS 382    Programming Languages    3 Hours

A study of principles and common features of programming languages. Topics include syntax, semantics, binding, scope, overloading, finite automata, formal languages, etc.

Prerequisite(s): (CS 221 with a minimum grade of C or CS 290 with a minimum grade of C)

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022

CS 389    Practicum in Computer Science    1-4 Hours (repeatable max of 4 hrs)

Intended primarily for upper level undergraduates who will undertake significant programming projects. Written reports and documentation are required. Note: Consent of computer science program coordinator may be required.

Prerequisite(s): CS 351 with a minimum grade of C

Recent Term(s) Offered: None

CS 396    Intermediate Software Project    3 Hours

The course enhances each student's abilities to craft software through the development of a significant group project which requires a variety of skills. Topics include simple data analysis and design, group problem solving, human-computer interface design, software project management, security, and quality control. The technical work will be complemented by written and oral technical presentations.

Prerequisite(s): CS 351 with a minimum grade of C and CS 331 with a minimum grade of C and COMM 145 with a minimum grade of C and (ENG 300 with a minimum grade of C or ENG 307 with a minimum grade of C)

Recent Term(s) Offered: fall 2020; fall 2021; fall 2022

CS 405    Numerical Analysis I    3 Hours

Roots of equations, linear operators, polynomial approximation and interpolation, numerical differentiation and integration. Computer solutions of problems will be required. Note: Consent of instructor may be required.

Prerequisite(s): MATH 137 with a minimum grade of C and (MATH 237 with a minimum grade of C or MATH 307 with a minimum grade of C or MATH 310 with a minimum grade of C) and (CS 180 with a minimum grade of C or CS 146 with a minimum grade of C)

Equivalent(s): MATH 405

Recent Term(s) Offered: fall 2020; fall 2021; fall 2022

CS 406    Numerical Analysis II    3 Hours

The solution of linear system by direct and iterative methods, matrix inversion, the calculation of eigenvalues and eigenvectors or matrices. Initial and boundary value problems in ordinary differential equations. Computer solution of problems will be required.

Prerequisite(s): MATH 307 and MATH 327 and MATH 331 and (MATH 405 or CS 405)

Recent Term(s) Offered: None

CS 421    Data Structures and Algorithm Analysis    3 Hours

Important data structures, algorithms, and their applications, emphasizing algorithm analysis and general algorithmic strategies. Includes balanced search trees, hashing, priority queues, sorting, and graph algorithms.

Prerequisite(s): CS 339 with a minimum grade of C and CS 331 with a minimum grade of C and STAT 301 with a minimum grade of C

Recent Term(s) Offered: fall 2020; fall 2021; summer 2022; fall 2022

CS 425    Operating Systems I    3 Hours

Overview of the concepts/theory that underlay operating systems with emphasis on process management, memory management, scheduling, multiprocessing, etc.

Prerequisite(s): CS 325 with a minimum grade of C and CS 382 with a minimum grade of C

Recent Term(s) Offered: fall 2020; fall 2021; fall 2022

CS 443    Database Management Systems II    3 Hours

Organization and management of large data files, various database paradigms, database design theory, query optimization, physical database design, database security, distributed databases. Note: Consent of instructor may be required.

Prerequisite(s): CS 331 with a minimum grade of C and CS 351 with a minimum grade of C

Recent Term(s) Offered: fall 2021; fall 2022

CS 445    Operating Systems II    3 Hours

Advanced study of modern operating system theory and practice. Topics include distributed system structures and coordination, distributed file systems, and protection and security.

Prerequisite(s): CS 425 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022

CS 446    Interactive Computer Graphics    3 Hours

Introduction to elementary topics in interactive computer graphics. Input devices, display devices, and techniques for 2-D and 3-D transformation will be explored as well as difficulties encountered in each of these areas. Assignments will be used to emphasize interaction, data structures, and applications to various disciplines.

Prerequisite(s): MATH 307 with a minimum grade of C and CS 331 with a minimum grade of C

Recent Term(s) Offered: None

CS 450    Computer Networks    3 Hours

An advanced study of the design and implementation of computer networks. Topics include network topologies, switching techniques, routing, end-to-end protocols, quality of service, and other advanced topics, e.g. wireless networks and multimedia networks. Note: Permission of instructor may be required.

Prerequisite(s): CS 325 with a minimum grade of C and CS 381 with a minimum grade of C

Recent Term(s) Offered: None

CS 456    Artificial Intelligence    3 Hours

Study of problems which have no plausible algorithmic solution. Their computer representations and solutions usually involve heuristics.

Prerequisite(s): CS 331 with a minimum grade of C and CS 339 with a minimum grade of C

Recent Term(s) Offered: fall 2020

CS 473    Introduction to Graph Theory    3 Hours

Fundamental concepts, key ideas and tools in graph theory, with an emphasis on proof methods, algorithms, and applications. Techniques and tools are applied to practical optimization problems and other areas of mathematics and computer science. Note: Permission of instructor may be required.

Prerequisite(s): MATH 307 with a minimum grade of C and MATH 310 with a minimum grade of C

Equivalent(s): MATH 473

Recent Term(s) Offered: None

CS 475    Selected Topics in Computer Science    1-3 Hours (repeatable max of 12 hrs)

A consideration of special topics which will acquaint the advanced student with significant problems and developments of current interest in computer science. Note: Permission of instructor is required.

Recent Term(s) Offered: spring 2020; spring 2021; fall 2021; spring 2022; summer 2022; fall 2022

CS 476    Research Methods and Projects in Computer Science    3 Hours (repeatable max of 6 hrs)

The languages, programming techniques and skills acquired in the sequence of core courses in the undergraduate program are applied to the analysis and design of computer-based systems. Top-down design techniques are applied in one or more large-scale programs which require attention to the documentation, communication, and inter-facing or modules in a team project. These techniques are essential in most large-scale research applications of computers.

Prerequisite(s): CS 360 with a minimum grade of C

Recent Term(s) Offered: None

CS 496    CS Senior Project and Professional Practice    3 Hours

Student teams of qualifying seniors will design and implement complex capstone software projects. Topics include practical issues of software development, quality assurance and deployment, project management, computing ethics, and professional practice.

Prerequisite(s): CS 360 with a minimum grade of C and CS 396 with a minimum grade of C

Recent Term(s) Offered: spring 2020; spring 2021; spring 2022