Computer Science (CS)
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.
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.
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.
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.
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.
Elementary topics as determined by changes taking place in the discipline. Repeatable as topics change.
Allows students to participate in field experience, combining theory with practice.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Advanced topics as determined by changes taking place in the discipline. Repeatable as topics change.
Allows students to participate in field experience, combining theory with practice. May be repeated for up to 8 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.
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.
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.
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.
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.
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.
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.
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.
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.