Computer Science (CS)

CS 108  Found of Computer Science I    3 sem. hrs.

An introduction to computers, basic coding, hardware, software and applications to help students better understand the basic concepts and underlying principles of Computer Science. Offered every fall.

CS 111  Intro to Obj-Oriented Program    3 sem. hrs.

Introduction to programming in an object-oriented language. Early work will emphasize procedural programming techniques - introducing students to data types, input-output operations, decision statements, loops, and arrays. Students will then study construction of simple user-defined classes. Offered every spring.

Prerequisite: MATH 103 with a grade of C or above.

CS 112  Introduction to Networking    3 sem. hrs.

Students will study the elements of a computer network including the base framework and infrastructure, concepts of operation, installation, and configuration of the hardware and operating system software. Students will acquire hands-on experience from actual setup and configuration in a network lab environment. Offered every fall.

CS 114  Introduction to Cybersecurity    3 sem. hrs.

This course introduces the fundamental concepts of computer and network security, cyber-attacks, and cyber-defense. Students will examine the legal aspects of cybercrime and investigate standards and best practices for mitigating circumstances. Offered every spring.

CS 120  Introduction to Bioinformatics    3 sem. hrs.

Bioinformatics is the application of computer power to problems in Biology and medicine. This course provides an introduction to the problems addressed by the cross-disciplinary field of bioinformatics, and to some of the tools made available by this technology. Students will use bioinformatics to investigate genome organization, gene structure, and the four levels of protein structure. Students are introduced to molecular visualization tools, sequence analysis software, and on-linesequence comparison tools. A short paper is required, investigating aparticular gene, its product, the structure of the product, and its function in the cell. Three one-hour lectures per week. Cross-listed as BIO 120. Offered every fall.

CS 199  Special Topics    3 sem. hrs.

To fill special student needs or take advantage of a visiting professor or serve as an experimental offering of a contemplated regular course. May be repeated as new topics are presented.

CS 201  Visual Basic I    3 sem. hrs.

Develop Graphic User Interfaces and add event-driven code to create and/or run simple applications from the Windows environment, using VISUAL BASIC. Understand and use forms, controls, properties, modules. Learn proper Windows design and design considerations. This is largely a hands-on course. Offered every fall semester.

Prerequisite: Familiarity with the use of Windows, plus CS111 or one semester of college computer programming, or permission of the instructor.

CS 210  Understanding UNIX/LINUX    3 sem. hrs.

Introduction to the UNIX/LINUX operating systems will be conducted using a laboratory environment. Students explore the components of the UNIX/Linux operating system, working with basic commands and applications.

Prerequisite: CS 111.

CS 211  Programming Structures    3 sem. hrs.

Construction of classes and subclasses in Java. Basic data structures (including arrays, array lists, …) and their appropriateness in programmingsituations.

Prerequisite: CS 111 with grade of C or above.

CS 212  Intro Object-Oriented Prg II    3 sem. hrs.

Further work with user-defined classes as well as data structures such as array lists and linked lists, searching and sorting techniques, simple text file handling, generic methods and classes and recursion. Offered every fall semester.

Prerequisite: CS 111 with a grade of C or above; MATH 104 with a grade of C or better.

CS 220  Discrete Patterns for Comp Sci    3 sem. hrs.

Investigation of Discrete Patterns that are especially relevant to Computer Science including Boolean logic, propositions, induction and recursion, counting techniques, discrete probability.

Prerequisite: MATH 155 with grade of C or above.

CS 221  Database Techniques    3 sem. hrs.

This course is an introduction to the different traditional and modern day approaches on database management using hands-on examples. Concepts of files, databases, data objects, and presentation of data in various formats are covered. Students learn the principles, techniques, and tools needed to create a relational database application from scratch and apply them in a group project using open source tools such as MySQL and PHP. This course also familiarizes students with the technical hands-on knowledge of NoSQL databases and using MongoDB and also explores the origins and characteristics that distinguish them from traditional relational database management system. Offered every spring semester.

Prerequisite: CS 111 or permission of instructor.

CS 231  Discrete Patterns II    3 sem. hrs.

(See MATH 230-231) Algorithms and Combinatorics. Logic, circuits, Karnaugh maps. Proofs, including quantified statements and mathematical induction. Relations, graphs, trees. Languages and finite-state machines. Offered as needed.

Prerequisite: CS 230.

CS 251  Web Publishing    3 sem. hrs.

Introduction to the Internet, World Wide Web, HTML, and web page authoring. Web page construction using web authoring tools will include: frames, graphics, sound and animation. Appropriate design and copyright issues will be addressed. Offered every spring semester.

CS 280  Bioinformatics Seminar    1 sem. hr.

A one-credit course in which on-line genome databases will be explored. The course culminates with a project inquiring into some aspect of cell biology, drawing on bioinformatics tools made available by various databases, such as the human genome browsers at NCBI, EMBL, and UCSD, the OMIM and OMIA databases, and gene expression data from EST and microarray databases. Cross-listed as BIO 280. Offered every spring.

Prerequisites: BIO101, 102.

CS 298  Computer Sci Career Seminar I    1 sem. hr.

This introductory seminar focuses on helping beginning computer science students from all three majors gain valuable time with professionals in the field, through seminars presentations and at conferences meant to expose students to career options in CS. Offered every spring semester.

CS 299  Special Topics    3 sem. hrs.

To fill special student needs or take advantage of a visiting professor or serve as an experimental offering of a contemplated regular course. May be repeated as new topics are presented. Requires permission of Director of Computer Science. Offered as needed.

CS 301  Visual BASIC II    3 sem. hrs.

More advanced concepts and methods in Visual BASIC, with concentration on Database and Client-Server Applications and related topics.

Prerequisites: CS 201 and CS 221 with grade of C or above.

CS 303  Introduction to Data Science    3 sem. hrs.

This course examines the issues of big data and data analytics. The aim is to bring students, with basic programming and data structure background, to be abreast with common tools used for Data Science application development. This course serves as an introduction to the basics of data science including programming for data analytics, file management, relational databases, classification, clustering and regression. The foundation is laid for big data applications ranging from social networks to medical and business informatics. Offered every fall semester.

CS 306  Computer Organization    3 sem. hrs.

Investigation of the computer as hierarchy of levels-digital logic; microprogramming; machine; assembly language, operating systems. Includes lab work in assembly language. Offered every fall semester.

Prerequisite: CS 111 with grade of C or above.

CS 311  Programming Algorithms    3 sem. hrs.

Representation of algorithms in pseudocode and Java. Efficiency of algorithms. Recursion. Sorting and searching algorithms. Stacks and queues. Exception handling.

Prerequisite: CS 211 with grade of C or above.

CS 314  Functional Programming    3 sem. hrs.

Concepts, structures, methods and applications appropriate to the Functional Paradigm (Currently Haskell). Offered every fall semester of even-numbered years.

Prerequisites: CS 111 with grade of C or above, or permission of instructor.

CS 320  Programming in .NET    3 sem. hrs.

Working with programming techniques in Windows.NET environment.

Prerequisite: CS 212 with a grade of C or above.

CS 335  LINUX/UNIX Programming    3 sem. hrs.

Study of the LINUX/UNIX programming environments.

Prerequisite: CS 212 with grade of C or above.

CS 385  Computer Science Internship    1-6 sem. hrs.

Interns receive practical learning experience outside the academic setting. Requires permission of the Director of Computer Science and agreement of the relevant authority on the employer's side. May not be repeated. Offered by arrangement.

CS 387  Advanced Cybersecurity    3 sem. hrs.

This course examines advanced concepts of computer and network security, cyber-attacks, and cyber-defense. Students will examine in depth the fundamental concepts of cybersecurity from the introductory course, CS 114. The course will also further investigate standards and best practices in cybersecurity. Offered fall semester.

CS 399  Special Topics    1 sem. hr.

To fill special student needs or take advantage of a visiting professor or serve as an experimental offering of a contemplated regular course. May be repeated as new topics are presented.

CS 402  Modular Projects    3 sem. hrs.

Students will undertake a semester-long, real-life programming project while gaining expertise in the C language. Individual or group projects depending on the composition of the class and the interests of the students. Offered as needed.

Prerequisite: CS 311 or with grade of C or above.

CS 403  Object Oriented Prog w/C++    3 sem. hrs.

Object-oriented programming using the C++ language. Topics include abstract data types, polymorphism and overloading. Assumes familiarity and comfort with C programming language. Course begins with investigation of differences between C and C++; proceeds into object-oriented programming in C++. Includes work with the Standard Template Library (STL). Offered as needed.

Prerequisite: CS 402 with grade of C or above or ability to program in C and permission of instructor.

CS 404  Prin of Computer Languages    3 sem. hrs.

Comparative study of key programming languages in view of design concepts and seminal implementation methods. Introduction to LISP or similar language with lab exercises. Not currently offered.

Prerequisites: CS 306 and CS 311 with grade of C or above.

CS 405  Operating Systems    3 sem. hrs.

Investigation of the principles of a modern computer operating system. Topics include processes, memory management, input/output, file systems. Examples will be taken from current operating systems such as Windows, LINUX/UNIX. Offered as needed.

Prerequisites: CS 306 and CS 402 with grade of C or above.

CS 406  Cybersecurity II    3 sem. hrs.

This course focuses on the ethical and criminal aspects of cybersecurity and the economic impact to society. Students will investigate security from an ethical and criminal hacking perspective. Students will examine the forensic protocols involved with investigating security threats and breaches as well as system defense through mechanisms such as physical and software controls. Offered as needed.

CS 420  Bioinformatics Applications    3 sem. hrs.

In this course we will learn to use many of the tools of bioinformatics, including genome database, BLAST searcher, DNA analysis software, and protein structure modeling. Biology majors will complete a project which relates to one of their upper-level biology classes. CS students will complete a project involving programming or another CS activity. Cross-listed as BIO 420. Offered every fall.

Prerequisites: for biology majors, BIO 101-102 along with one of BIO 306, BIO 403, or BIO 307/CHEM 307; for CS majors, junior or senior students who have completed at least 2 programming courses.

CS 425  Software Engineering I    3 sem. hrs.

This course blends theory with practical application. Today's information systems are built using both a structured and object-oriented approaches. Therefore, students will be "dual-tracked", ensuring exposure to both methodologies. CS 425 focuses on the definition, analysis, and design stages of systems development. Students will apply theoretical concepts through practice using case studies. Projects will be completed both on an individual basis and in a collaborative team environment. Offered every fall.

Prerequisite: CS 212 with a grade of C or better; CS 221 with a grade of C or better.

CS 426  Software Engineering II    3 sem. hrs.

This course is intended to provide the students an opportunity to continue their study into the various approaches to information systems design and analysis processes, including Object-Oriented Analysis and Design (OOAD) and Unified Modeling Language (UML). In addition, the students will be required to complete a major project, created specifically to apply their knowledge at a practical level. Emphasis will be placed on the participatory nature of systems design and implementation and will require active contributions by the students during and outside of the official class times. The individual and group-based projects, started in CS 425 will be completed during this class. Emphasis will be placed in the design, development, and implementation of systems within a variety of contexts. Offered every spring.

Prerequisite: CS 425.

CS 490  Independent Study/Research    3 sem. hrs.

Course by arrangement.

CS 498  CS Career Seminar II    1 sem. hr.

This capstone experiences focuses on helping advanced computer science students from all three majors gain valuable time with professionals in the field, through seminars presentations and at conferences. Offered every spring.