Computer Science Courses

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.