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.
An introduction to various principles, theories, and approaches to user interface design and implementation. Includes a study of the factors that affect user interface design, and mastery of at least one development tool and a visually based programming language. Prerequisite: Grade C or higher in CS 185. 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.
Students learn languages such as RPG, COBOL or C using an advanced POWER system server with IBM i operating system and DB2 database, which are widely utilized in insurance, hospitals, manufacturing, financial services and banking. Topics covered include logic flow, structures, modular programming, user interface and database manipulation. Prerequisite: Grade of C or higher in CS 185.
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 full-time faculty. Prerequisites: 8 credits in CS and permission of instructor. Graded Pass/Fail. Fall, Spring
Introduction to fundamentals of assembly and C language programming concepts and techniques with an in-depth understanding of x86 architecture computers by programming at the machine level. Proper use of assembler, registers, instructions and stack, and developing well-structured programs in assembly and C language are emphasized. Prerequisites: CS 185. Fall.
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.
The art and science of programming internet applications from a client-side perspective. Topics cover designing interactive web applications, PHP, using content managers, reading, writing database files, and usability and design considerations using real world projects. Current web programming languages and content managers will be utilized. Prerequisites: ISCS 150 and CS 185. Spring.
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.
Students delve into applications of digital imaging involving interpreting data to build mathematical models. Students will learn to use MATLAB and convert the images into analytical form to decipher the content to either enhance or extract information. These skills are important in forensics, Medical Image Analysis and many other fields. For the student who does not have a programming background, special tutoring will be offered to understand the MATLAB programming. Prerequisites: 24 credits in ISP, including ITW 101 and QL. ISCS 140 recommended. Spring.
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.
The study of advanced programming techniques of timely interest. Topics may include object-oriented techniques, special purpose languages, graphical programming, or advanced design techniques. Emphasizes continued development of problem-solving and programming skills. Prerequisites: 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.
Provides the opportunity to apply the principles and skills acquired in earlier courses, and to investigate and design the blueprints for a software engineering project. Software will then be constructed in accordance with its design specifications. Emphasis will be placed on the various activities in the SDLC. Prerequisites: 32 credits in CS preferably including CS 375. 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.
SQL database programming for industry on IBM’s DB2 database, which is widely utilized in insurance, hospitals, manufacturing, financial services and banking to solve data challenges of management, security, manipulation and presentation. Topics include principles, techniques and approaches to building tables, views and procedures using complex databases and data warehousing tools. Prerequisite: CS 280.
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. 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. Fall, Spring.
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.
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.