Computer Science Courses (CS)
100  Computer Concepts  and Applications  (4) 
    Topics include basic concepts of computer hardware and software; the development of the computer, networks, and the  Internet; programming logic; Web page development with HTML/CSS; application  software such  as word processing,  spreadsheet, database, and presentation  software; and  social  concerns associated  with  the  widespread  use of computers. Prerequisite: placement level H, A, B, or C. Students with credit for CS 112 or higher by consent only. Offered every spring.
107  Introduction to  Python Programming (4) 
  The basic components of Python  programming language are studied. Topics  include variables and  types, expressions, statements, conditions with selection  and looping, functions. Concepts and  basics on lists, tuples, sets and dictionaries are also  presented. Prerequisite: placement level H, A, B, or C.  Students with credit for CS 112 or higher by consent only. Offered every  fall.
110  Introduction to  Programming with  Visual BASIC (4) 
    An introductory programming course that uses Visual BASIC programming language. Topics include the program development process, structured programming, data  types, assignment, selection, looping, subroutines, one-dimensional arrays, files, and random numbers. Prerequisite: placement level H, A, or B, or MATH 104 with a grade of C- or higher, or consent. Students
    with credit for CS 112 or higher by consent only. Offered every spring. 
112  Computer Programming I (4) 
  An introduction to computer programming using a modern programming language. Topics include the program development process, data types, variables and expressions, input/output, assignment, selection, loops, methods/functions, and arrays.  Prerequisite: placement level H, A, or B, or MATH 104 with a grade of B or higher, or consent. CS 107, CS 110 or a high school programming class is strongly recommended.
201  Intro  to  3D Modeling/Printing (2) 
    Introduction to  3D modeling and printing.  Several  software packages are used to  create and manipulate 3D models.  Topics  also include a survey of current applications of 3D printing, the mechanics of basic 3D  printing technology, and factors involved in achieving a  successful  3D print.  Prerequisite: sophomore status or higher, and  placement level  B or higher or  MATH 104 with a grade of C or higher. Offered on  demand.
205  Foundations  of  Logic and Proof (4) 
Introduction to abstract mathematical thinking and logical reasoning skills needed in upper-level Math/CS courses. Topics include logic, argument, proofs, induction, sets, and abstract functions and relations. Emphasizes mathematical writing. Identical to MATH 205. 
Prerequisite: MATH 217 with a grade of C- or higher, or CS 212 with a grade of C or higher, or consent.
Recommended spring of sophomore year. Offered every spring
212    Computer  Programming II (4) 
    A continuation  of  CS 112. Topics  include advanced programming design  in static methods (void and value-returning methods), arrays used  in methods, classes, array-based lists, selection sort, binary search, object-oriented programming techniques (inheritance, polymorphism, and composition), and recursion  Prerequisite: CS 202 with  a grade of C- or higher, CS 112 with  a grade of C or higher, or consent. Offered every semester.
305 Teaching Experience (1)
  Qualified students assist computer science  instructors in the teaching of CS courses and laboratories assigned in the  classroom. May be repeated for credit, but students may apply no more than 4  semester hours towards the major or minor. Prerequisite: a grade of B or higher  in CS 212, and consent. Students may repeat this course pending satisfactory  performance in previous enrollment(s). Offered every semester. 
307  Data Science  Using Python (4) 
    The advanced  Python  programming techniques and  applications in data science are studied.  Topics include control structures,  lists, tuples, sets and dictionaries, as well as  the popular Python  modules in data  science including math, statistics, NumPy,
    and Pandas.  Case studies on data analysis, visualization, series and frames are also  covered. Prerequisite: A grade of C or higher in Math 210 and a grade of B or higher in either CS107 or CS 212, or consent. Offered on demand.
310  Introduction to Computer Systems  (4) 
    Introduces the basic concepts of computer organization  and assembly language. Specific topics include CPU and  memory  organization, machine language, addressing techniques, macros, program segmentation  and linkage, and assembler construction. Satisfies the oral competency requirement for computer science majors.  Prerequisite: CS 212 with  a grade of C or higher or consent.  Offered fall of odd-numbered years.
311  Data Structures (4) 
  An introduction to  commonly used computer data  structuring techniques. Topics include abstract data types, classes, queues, stacks, linked lists, algorithm  analysis, sorting, searching, trees, and graphs.  Prerequisite: CS 212 with a grade of C or higher or consent. Offered every fall.
331  Systems  Analysis and Design  (4) 
Introduces the concepts, principles, and stages of computer-based  information  systems analysis and  design.  Topics include the system  development environment, project management, system  requirements definition, interface and  structure design, and system  implementation  and  administration. Prerequisite: CS 212 with a grade of C or higher or consent. Offered  on demand.
350  Numerical Methods (4) 
    Examines efficient methods used  in solving numerical  problems with the aid of a computer. Topics include floating point arithmetic, interpolation and  approximation, integration, roots of non-linear equations, ordinary differential  equations, and  systems of linear equations. Identical  to MATH 350. Prerequisite: MATH 172 with a grade of C- or higher and CS 212 with a grade of C- or higher, or consent.
380  Programming Languages (4) 
    Introduces students to  the  historical development of programming languages and to the decisions involved  in the design  and implementation of such  programming language features as elementary, structured, and  user-defined data types,  subprograms, sequence control, data control, and  storage management. Selected features of several existing languages are  examined  in the context of these issues. Prerequisite: CS 212 with  a grade of C or higher or consent. Offered  on demand.
389  Advanced Topics in Computer Science (4) 
    Explores an area of computer science which  is not otherwise included  in the curriculum. Students may repeat the course for credit as the topic  varies. Prerequisite: CS 212 with  a grade of C or higher and consent.  Offered on demand.
401    Principles  of  Cybersecurity (4) 
    The course examines the concepts, principles, and applications of cybersecurity in  the IT infrastructure and explores the  knowledge and  skills needed to  ensure security of information  and information  systems within  organizations. Prerequisite: CS
    212 with a grade of C or higher or consent. Offered  spring of even-numbered  years.
430  Database Management Systems Design  (4) 
    Emphasizes the concepts and  structures necessary to  design  and implement database systems using a relational database management system. Various database management system  architectures illustrating hierarchical,  network, and relational  models are discussed. Physical  data storage techniques, file security, data integrity, and  data normalization are also  explored. Prerequisite: CS 212 with a grade of C or higher or consent.  Offered  on demand.
440  Operating Systems  (4) 
    Introduces the principles of operating systems emphasizing intrasystem  communication. Examines concepts and techniques necessary for understanding and  designing these systems.  Topics include I/O and  interrupt structure, concurrent processes, process scheduling, and memory management and protection.  Prerequisite: CS 212 with  a grade of C or higher or consent. CS
    310 is recommended.  Offered  on demand.
470  Internship in Computer Science (2 or 4) 
    An intensive computer science project conducted  in a professional  setting.  Pass/Fail grading. Prerequisite: junior/senior  status, cumulative GPA of at least 2.5, and  consent. Offered on  demand.
489  Research in Computer Science  (2  or 4) 
    Offers students the opportunity to  conduct original  scientific research  in an area of interest.  Students work closely with  one  or 
    more members of the natural science faculty to develop and  conduct a research project, then  present their findings orally during the semester’s undergraduate research  symposium and  as a formal research paper.  Students are encouraged to  present their findings at a conference. Prerequisites: junior/senior status and  a major in Computer Science, prior approval by  the  project advisor, and consent of the instructor. Students may enroll for 2 or 4 hours in  a given semester. May be repeated for a maximum  total of 8 semester hours.  Identical to BIO 489, CHEM 489, EES 489, and  MATH 489.  Offered every semester  and most January Terms (2 semester hours only).
Information Systems Courses (ISP)
101  Fundamentals of Information  Systems (4) 
    Introduces students to  the  fundamental  principles and practices of utilizing information  systems to help organizations achieve their goals and carry out their missions. While the course serves as the introductory course in  the  Information Systems  Program  curriculum, it is a suitable elective for any student  interested in  the  subject. Students  should have a working  knowledge of Internet use and computer applications such as  word processing, spreadsheets, presentation  graphics, and e-  mail. Offered every semester.
105  Information Systems and Computer Applications  (4) 
    Students explore current topics in the field  of  computer science/information  systems beyond  the  introductory level  covered in CS  100, including computer networks, Internet use, and ethical and  legal  issues related to  the  use of information technology.  Students learn to  use  the more advanced features of software applications  such as word  processing, spreadsheet, database,  and presentation programs. Offered  intermittently.
205  Database Applications (4) 
    This course incorporates instruction  on planning, defining and using a  database. It also provides instruction  on how to perform  queries, produce reports, and  work with  multiple files. Additionally, it addresses database programming and concepts, principles  of table design  and table relationships, entering data, creating and using forms, using  data from different courses, and filtering. Offered selected summer semesters and  on demand.
400  Project Management for  IS  (3) 
    This course provides instruction on  the  components of complex  projects, how to  manage those project components, and how  to form and lead  a project team.  Project Management tools and techniques will be introduced, discussed, and  used throughout the course.  Students will be required to  purchase Microsoft  Office Suite and  Microsoft  Projects. Prerequisite: ISP
    101 or consent. Offered  every summer and on  demand.
405  Management Information Systems  (3) 
    Management Information Systems (MIS) provides a more detailed  overview of the issues managers face in the selection, use,  and management of information  technology (IT).  Increasingly, IT is being used  as a tool to  implement business strategies and  gain competitive advantage, not merely to support business operations. The course takes a management rather than a technical  approach to  the  material presented.  Students will be required  to purchase Microsoft Office  Suite. Prerequisite: ISP
    101. Offered every summer and  on demand.
406  Information Systems Development (3)
    A case-oriented  course that explains how and why a  well-conceived, well-executed  information  systems (IS) strategy nearly always  enhances a  company’s long-term performance. Students will  integrate previous  coursework to  design  a system  that would serve to  generate competitive advantage for an organization. Prerequisite: ISP 400, ISP 405, and senior status.  Offered  on demand.