Introduces students to fundamental computer science (CS) principles that help prepare students for successful careers in their chosen disciplines. 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. Fall, Spring, Summer.
Introduces website construction as a pervasive means of problem solving and communication. Through the various methodologies covered, the course helps to prepare students for successful careers in their chosen disciplines. 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. Fall, Spring, Summer.
This introductory course in microcomputer systems includes discussion of the underlying physics of the computer system, hardware/software installation, configuration, trouble-shooting problems, networking essentials, and other related topics. The course is designed to prepare students to develop an understanding of the internal workings of a microcomputer system. Not open to students who have completed CS 160. Fall, Spring.
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: Grade of C or higher in ISCS 140. Fall, Spring.
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. Spring.
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: Grade of C or higher in CS 185. Spring.
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-oriented programming, operator overloading, and file processing. It also includes a cursory treatment of fundamental data structures. Prerequisite: Grade C or higher in CS 185. Fall.
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. Prerequisites: Grade C or higher in ISCS 140. MATH 135 as prerequisite or co-requisite. Fall, Spring.
This course guides the student through a study of data structures and algorithms. It includes 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: Grade C or higher in CS 185. MATH 135 as prerequisite or co-requisite. Fall, Spring.
Elementary topics as determined by changes taking place in the discipline. Repeatable as topics change. Prerequisite: Minimum of 8 credits in CS. Fall, Spring, Summer.
Allows students to participate in field experience, combining theory with practice. Prerequisites: 16 credits in CS and permission of instructor. Fall, Spring.
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. Prerequisites: 8 credits in CS and permission of instructor. Graded Pass/Fail.
Introductory work-learning experience related to career interests for which compensation may be received. Positions arranged by students with sponsorship, approval, and evaluation by full-time faculty. Prerequisites: 8 credits in CS and permission of instructor. Graded Pass/Fail. Fall, Spring
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: CS 280. Spring.
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: 24 credits in ISP including ITW 101 and QL.
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: CS 185. Spring.
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: Grade C or higher in CS 280. Fall.
This course introduces the fundamental concepts and principles of software planning, construction, implementation and management. It covers the software development life cycle, the various activities that occur. It also covers methodologies for specifying, designing, developing, and managing top quality software systems. Prerequisite: CS 280. Fall.
This is an introductory course in creating applications for mobile devices, including Android, iPhones, iPads, and the iPad Touch. It teaches how to conceive, design, construct, and deploy applications for these devices. It employs Xcode (Apple's native IDE), the Objective-C programming language, and the Cocoa Touch framework. Prerequisite: CS 185. Fall.
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: CS 280.
This course guides the student through a comparative study of programming languages, guided by a well-defined set of criteria. It includes 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: CS 265 and CS 280. Spring.
Introduction to fundamental concepts and techniques underlying the science and art of cryptography and network security including: symmetric encryption, message digests, public key cryptography, authentication, security protocols on both application and network layers of the Internet, and network operational security techniques. Prerequisite: CS 355. Fall.
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. Prerequisites: ISCS 210 and MATH 141. Fall.
Advanced topics as determined by changes taking place in the discipline. May be repeated as topics change. Prerequisite: Minimum of 32 credits in CS. Occasionally as needed.
Allows students to participate in field experience, combining theory with practice. May be repeated for up to 8 credits. Prerequisites: 16 credits in CS and permission of instructor. Fall, Spring, Summer.
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. Prerequisites: 16 credits in CS, and permission of instructor. Graded Pass/Fail.
Introduces the fundamental issues in artificial intelligence (AI). Includes fundamental concepts, problem-solving techniques (including breath-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: CS 280. Spring.
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. Prerequisites: 16 credits in CS, and permission of instructor. Graded Pass/Fail. Fall, spring.
Individual research into selected topics in computer studies under the direction of a faculty member. Prerequisites: 16 credits in CS and consent of the instructor who will supervise the independent study. May be repeated to a total of 4 credits. A maximum of 4 credits may be applied to the upper-level (300- and 400-level) CS elective requirement. Occasionally as needed.