Academic Catalog

Computer Science (CS)

CS-185  Programming Foundations II  (4 Credits)  

This course extends the ISCS-140 concepts to include more advanced programming concepts and principles such as: Arrays of Objects; Inheritance, Polymorphism, and Amalgamation; Exception Handling; External File Processing; Basic GUI Programming; Creating User Interfaces; Introduction to Data Structures.

Prerequisite(s): Grade of C or higher in ISCS-140  
Offered: All, Every Year  
CS-215  Operating System Administration  (4 Credits)  

Discusses fundamental system administration issues using the Unix operating system and/or any other operating system chosen by the instructor. It covers installation and configuration, file and directory management, message management, management of system security, multimedia management, basic network configuration, and command language programming.

Prerequisite(s): CS-185 or ISCS-210  
Offered: Spring, Every Year  
CS-225  C++ Programming  (4 Credits)  

This course introduces the student to fundamental programming concepts with the C++ programming language. It includes concepts such as sequence, iteration, conditional branching, functions, recursion, function overloading, object orientated programming, operator overloading, file processing etc. It also includes a cursory treatment of fundamental data structures.

Prerequisite(s): Grade of C or higher in CS-185  
Offered: Fall, Every Year  
CS-265  Computer Architecture  (4 Credits)  

Introduces the student to the computer as an electronic device. It includes digital logic as well as design of critical internal components of the computer system. May also include topics such as hardware compilation, microcode, content-addressable memories, and parallel architectures.

Prerequisite(s): Grade C or higher in ISCS-140 and MATH-135  
Offered: All, Every Year  
CS-280  Data Structures & Algorithms  (4 Credits)  

This course guides students through a study of data structures and algorithms including: algorithm development and analysis, array-lists, linked lists, stacks, queues, trees hashing, graphs, and sorting algorithms. Although Java will be the primary programming language, the material is covered in a manner that facilitates implementation in any language.

Prerequisite(s): Grade C or higher in CS-185 and MATH-135  
Offered: All, Every Year  
CS-290  Special Topics  (1-4 Credits)  

Elementary topics as determined by changes taking place in the discipline. Repeatable as topics change.

Prerequisite(s): Minimum of 8 credits in CS  
Offered: All, Every Year  
CS-293  Supervised Field Experience  (1-2 Credits)  

Allows students to participate in field experience, combining theory with practice.

Prerequisite(s): 16 credits in CS and permission of instructor  
Offered: All, Every Year  
CS-294  Cooperative Education  (1-4 Credits)  

Introductory work learning experience related to career interests for which compensation may be received. Positions arranged by students with sponsorship, approval, and evaluation by fulltime faculty. Graded Pass/Fail.

Prerequisite(s): 8 credits in CS and permission of instructor  
Offered: All, Every Year  
CS-297  Internship  (1-4 Credits)  

Introductory work learning experience related to career interests for which compensation may be received. Positions arranged by students with sponsorship, approval, and evaluation by fulltime faculty. Graded Pass/Fail.

Prerequisite(s): 8 credits in CS and permission of instructor  
Offered: All, Every Year  
CS-320  Operating Systems Design  (4 Credits)  

Discusses the intricacies of operating systems design and implementation. Areas of concentration include OS services, file management, CPU scheduling, memory management, input/output management, resource allocation, security, and process management.

Prerequisite(s): CS-280  
Offered: Spring, Every Year  
CS-355  Computer Networks  (4 Credits)  

Introduction to fundamental concepts in the design and implementation of computer networks, their protocols and applications, examining the application layer and working down toward the link layer. Emphasis on networking concepts and issues involved in creating network applications and application-level protocols using network programming.

Prerequisite(s): CS-185 or ISCS-210  
Offered: Spring, Every Year  
CS-360  Database Systems  (4 Credits)  

This course covers the theoretical foundation of modern database systems, concentrating on practical use of relational database management systems to model, design and implement business and commercial systems. It includes Structured Query Language (SQL), normalization, and rational algebra. It does not use any specific language.

Prerequisite(s): Grade C or higher in CS-280  
Offered: Fall, Every Year  
CS-375  Software Engineering  (4 Credits)  

This course introduces the fundamental concepts and principles of software planning, construction, implementation and management. It covers the software development life cycle and the various activities that occur. It also covers methodologies for specifying, designing, developing, and managing top quality software systems.

Prerequisite(s): CS-280  
Offered: Fall, Every Year  
CS-395  Mobile Device App Programming  (4 Credits)  

This is an introductory course in creating applications for mobile devices including Android, iPhones, iPads, and the iPod Touch. It teaches students how to conceive, design, construct, and deploy applications for mobile devices. It employs Xcode (Apple's native IDE), the Objective-C programming language, and the Cocoa Touch framework.

Prerequisite(s): CS-185  
Offered: All, Every Year  
CS-420  E-Commerce Development  (4 Credits)  

Covers e-business development using both conceptual and hands-on orientations. Includes significant web-page construction using PHP, PHP frameworks, Model-View-Controller architecture, server and security implementation and customization, interface and connectivity with backend databases using MYSQL.

Prerequisite(s): ISCS-150 & CS-185  
Offered: Fall, Every Year  
CS-430  Principles of Programming Languages  (4 Credits)  

This course guides students through a comparative study of programming languages, guided by a well-defined set of criteria including: an introduction to the fundamentals of programming language design, review of different types of programming languages, formal language theory, theory of computation, and principles/concepts of programming language construction.

Prerequisite(s): CS-265 and CS-280  
Offered: Spring, Every Year  
CS-455  Cryptography & Network Security  (4 Credits)  

Introduction to fundamental concepts and techniques underlying the science and art of cryptography and network security including: symmetric encyption, message digests, public key cryptography, authentication, security protocols on both application and network layers of the Internet, and network operational security techniques.

Prerequisite(s): CS-355  
Offered: Fall, Every Year  
CS-480  Machine Learning  (4 Credits)  

Students will learn the fundamentals of machine learning, pattern recognition and predictive analytics. They will learn to use Python Machine Learning libraries to build algorithms on big data to make useful predictions. This knowledge is foundational to the Artificial Intelligent systems, such as autonomous car and automated medical diagnosis tools.

Prerequisite(s): Take ISCS-210 and MATH-141  
Offered: Fall, Every Year  
CS-490  Advanced Special Topics  (1-4 Credits)  

Advanced topics as determined by changes taking place in the discipline. Repeatable as topics change.

Prerequisite(s): Minimum of 32 credits in CS  
CS-493  Adv Supervised Field Experienc  (1-4 Credits)  

Allows students to participate in field experience, combining theory with practice. May be repeated for up to 8 credits.

Prerequisite(s): 16 credits in CS and permission of instructor  
Offered: All, Even Years  
CS-494  Advanced Cooperative Education  (1-4 Credits)  

Sequential work learning experience for which compensation may be received. Placements are arranged, supervised, and evaluated by full time faculty. May be repeated for a total of 4 credits. Graded Pass/Fail.

Prerequisite(s): 16 credits in CS, and permission of instructor  
Offered: All, Every Year  
CS-495  Artificial Intelligence & Robotics  (4 Credits)  

Introduces the fundamental issues in artificial intelligence (AI). Includes fundamental concepts, problem-solving techniques (including breadth-first search, depth-first search, Heuristic search, greedy best-first search, hill-climbing search, A star search), and a project-oriented coverage of robotics that requires each student to design and program a robot.

Prerequisite(s): CS-280  
Offered: Spring, Every Year  
CS-497  Advanced Internship  (1-4 Credits)  

Sequential work-learning experience for which compensation may be received. Placements are arranged, supervised, and evaluated by full-time faculty. May be repeated for a total of 4 credits. Graded Pass/Fail.

Prerequisite(s): 16 credits in CS, and permission of instructor  
CS-498  Independent Study  (1-4 Credits)  

Individual research into selected topics in computer studies under the direction of a faculty member. May be repeated to a total of 4 credits. A maximum of 4 credits may be applied to the upper level (300 and 400) CS elective requirement.

Prerequisite(s): 16 credits in CS and consent of the instructor who will supervise the independent study  
IICS-350  Cybercrime  (4 Credits)  

An introduction to cybercriminal activities from the perspective of computer forensics, sociology, criminal justice studies, in non-technological language while examining all basics on investigation and prosecution. Emphasis on both traditional and new forms of computer crime such as unauthorized access, online fraud, e-fencing, fraudulent instruments, identity theft, and many others.

Prerequisite(s): 24 credits in ISP including ITW-101 and QL  
Offered: Summer, Every Year  
INCS-160  Microcomputer Systems  (4 Credits)  

Introductory course in microcomputer systems includes discussion of the underlying physics of the computer system, hardware/software installation, configuration, troubleshooting problems, networking essentials, and other related topics. Prepares students to develop an understanding of the internal workings of a microcomputer system. Not open to students who have completed CS-160.

Offered: All, Every Year  
ISCS-140  Programming Foundations I  (4 Credits)  

Introduces students to fundamental computer science (CS) principles to prepare students for successful careers. Topics include: hardware & software fundamentals; algorithm development fundamentals; introduction to Java programming; control structures; construction of classes and methods; array processing; introduction to inheritance; interfaces. Not open to students who have completed CS-140.

Offered: All, Every Year  
ISCS-150  Website Design & Construction  (4 Credits)  

Introduces website construction as a means of problem solving and communication. Prepares students for successful careers. Topics include: fundamentals of website design; Hypertext Markup Language (HTML); introduction to Extensible Markup Language (XML); other supporting methodologies. Not open to students who have completed CS-150.

Offered: All, Every Year  
ISCS-210  Python Programming  (4 Credits)  

Introduces computational thinking using Python, with an emphasis on problem solving through computer science. The course focuses on data manipulation and analysis allowing students to work on real problems using actual data sets and is designed to engage both majors and non-majors in improving critical thinking skills through practice.

Offered: All, Every Year