Jump over the site's primary content.

CSCI Courses

CSCI 100: Basic Computer Literacy
This computer literacy course assumes no prior knowledge on the part of the student and covers all aspects of basic computer use from selecting a computer to setup and successful use. Specifically, students will learn how to select a computer package that meets their needs, how to assemble the components (i.e. as traditionally received from a store), how to run the operating system, basic file system operation and maintenance, software installation, Internet use, and basic computer security. Hands-on experiences will be provided for every topic. 1 HR

CSCI 101: Introduction to Computer Information Science
This course presents concepts of computer based systems; computer hardware, software, and organization environments; system categories, delivery modes; systems development methods; career opportunities and responsibilities. This is a lecture course with hands on experience with microcomputers. 4 HRS

CSCI 110: Introduction to Database Management Systems
Prerequisite: CSCI 101 with a grade of C or better. An Introduction to database management systems (DBMS). Covers database design, entity-relationship and relational models, schema creation, data normalization and SQL. Introduces transactions, concurrency, and recovery. 3 HRS

IAI Mathematics

CSCI 115: Discrete Structures
Prerequisite: MATH 109 or equivalent, with a grade of C or better, or placement. Introduction to analysis of finite collections and mathematical foundations of sequential machines, computer system design, data structures and algorithms. Topics include sets and logic, sequences, subscripting and arrays, number systems, counting, recursion, graph theory, trees, nets, Boolean algebra, automata, and formal grammars and languages. Formal proofs (including induction) are introduced early in the course and addressed throughout the course. Connections between the mathematical theory and corresponding computer science applications are pervasive throughout the course. Computer programming labs are written in the current language used in the core Computer Science courses. This course is not intended for a Mathematics major or minor. 4 HRS
IAI GEC Code - M1 905

CSCI 130: Computer Science I
Prerequisite: CSCI 101 with a grade of C or better, and one of the following with a grade of C or better or placement: TMAT 103, MATH 106, or MATH 109. Concurrent enrollment in CSCI 115 is suggested. CSCI 130 is the first course in a sequence of courses for majors in Computer Science. The course introduces a disciplined approach to problem-solving and algorithm development in addition to an introduction to object-oriented programming and data abstraction. The following topics are covered: selection, repetition, and sequence control structures; program design, testing, and good programming style; high-level programming languages; abstract and primitive data types; variable scope and access control; classes and objects; polymorphism and inheritance; arrays, sorting and files. 4 HRS

CSCI 131: Computer Science II
Prerequisite: CSCI 130 with a grade of C or better; CSCI 115 with a grade of C or better. The second in a sequence of courses for majors in Computer Science. Covers: design and implementation of large-scale problems; abstract data types; program verification and complexity; recursion; data structures; dynamic concepts; input and output; text processing; an introduction to searching and sorting, and documentation standards. 4 HRS

CSCI 135: COBOL Programming I
Prerequisite: CSCI 130 with a grade of C or better, or equivalent. This course provides an introduction to the COBOL Programming language to solve simple business application problems. Lectures and programming lab projects emphasize program structure, language syntax, sequential file processing, table handling, sorting procedures and report logic with control breaks. Structured design, programming, and documentation techniques will be emphasized. Advanced features such as sub-programs and copy libraries will also be discussed. 3 HRS

CSCI 136: Programming in Visual Basic
Prerequisite: CSCI 130 with a grade of C or better, or equivalent. This course provides an introduction to the Visual Basic.Net programming environment, with a focus on solving small-scale business problems in the Windows environment. Lectures and programming lab projects emphasize program structure, language syntax, sequential and dynamic file processing, data handling, sorting procedures, and data collection. Object-oriented event-driven design, programming and documentation techniques will be emphasized. 3 HRS

CSCI 138: COBOL Programming II
Prerequisite: Completion of CSCI 135 with a grade of C or better, or equivalent. This course is the second in a two-semester sequence. Students will complete more advanced COBOL programming projects utilizing programming tools learned in the first semester course. Additional key topics in this course include multi-level control breaks, multi-level tables, sorting procedures, file access, and embedded SQL. Students will also complete a program in a team development environment. 3 HRS

CSCI 151: iOS Development
Prerequisite: CSCI 130 with a grade of C or better or equivalent with Java, or CSCI 224 with a grade of C or better. This course introduces the iOS platform and the Objective-C programming language. The topics covered include: mobile application guidelines, Objective-C, the iPhone development environment, Cocoa Touch, and the various service layers. Programming assignments will provide practical experience with mobile development concepts. 4 HRS

CSCI 152: Windows Mobile Development
Prerequisite: CSCI 130 with a grade of C or better or equivalent with Java, or CSCI 224 with a grade of C or better. This course introduces the Windows Mobile platform and the .Net programming environment. The topics covered include: mobile application guidelines, C#, Visual Studio, Silverlight, XNA, and the various service layers. Programming assignments will provide practical experience with mobile development concepts. 4 HRS

CSCI 153: Android Development
Prerequisite: CSCI 130 with a grade of C or better or CSCI 224 with a grade of C or better. This course introduces the Android mobile operating system. The topics covered include: mobile application guidelines in general, the Android SDK, and advanced Java concepts unique to the Android operating system. Programming assignments will provide practical experience in developing applications for Android. 4 HRS

CSCI 171: Computing for Engineering & Science
Prerequisite: MATH 161 with a grade of C or better, or equivalent. This course covers the fundamental principles, methods, and concepts of computing with an emphasis on applications in the physical sciences and engineering. Basic problem solving and computing techniques will be taught using structured programming techniques. Fundamental algorithms, data structures, and ANSI C standard mathematical functions will be covered using engineering and scientific problems. Note: This course does not count for credit in a computer science program. 3 HRS

CSCI 220: C Programming
Prerequisite: Placement at College level English and reading; AND CSCI 130 with a grade of C or better, or equivalent. This course provides a detailed study of the C Programming language and an introduction to Structured Programming methodologies. It includes program planning, design methods, C language procedures, memory management and allocation, data storage and manipulation with data structures, I/O, and efficient programming techniques. 3 HRS

CSCI 221: C++ Programming
Prerequisite: CSCI 131 with a grade of C or better, or equivalent. Fundamental object-oriented programming concepts; develop problem-solving skills using a structured approach; development of structured programs; the basics of C++ programming language; C++ extension to C programming language; object-oriented programming, including classes and objects, inheritance and derived classes, and reusable code. Programming assignments will provide practical experience with C++ concepts. 3 HRS

CSCI 222: C# Programming
Prerequisite: CSCI 130 with a grade of C or better, or equivalent. This course provides a detailed study of the C# Programming language. It includes classes and objects, exception handling, collections, and I/O. The interaction between Visual C# and the .NET framework will also be discussed. Programming assignments will provide practical experience with C# and OOP concepts. 3 HRS

CSCI 224: Programming in Java
Prerequisite: CSCI 131 with a grade of C or better, or equivalent. Students who have completed CSCI 130 AND CSCI 131 will not be given credit for CSCI 224 toward their program of study. This course is intended to be both an introduction to Java and the first course in a series designed to teach the fundamentals of Java and prepare students for Java Programmer Certification and Java Developer Certification. The course covers fundamental object-oriented programming concepts and helps develop problem-solving skills using an object-oriented approach. It also covers development of programs using the techniques of object-oriented programming and design, and the basics of the Java programming language. The course will give students experience with classes and objects, inheritance and derived classes, and reusable code. Programming assignments will provide practical experience with Java and OOP concepts. 3 HRS

CSCI 230: Network Programming in Java
Prerequisite: CSCI 131 with a grade of C or better, or CSCI 224 with a grade of C or better, or equivalent. The course covers fundamental networking programming concepts and helps develop problem-solving skills using an object-oriented approach. Basic networking terminology and implementation of standard networking protocols will be covered along with security and distributed programming issues. In addition, the course will cover database connectivity and basic use. Programming assignments will provide practical experience with Java and networks. 3 HRS

CSCI 231: Graphical Programming in Java
Prerequisite: CSCI 131 with a grade of C or better or CSCI 224 with a grade of C or better or equivalent. The course covers fundamental and advanced graphical programming concepts and helps develop problem-solving skills using an object-oriented approach. Basic and advanced graphical techniques, event handling, security, and distributed programming issues will be covered. Programming assignments will provide practical experience with Java concepts. 3 HRS

CSCI 232: Enterprise Application Programming in Java
Prerequisite: CSCI 131 with a grade of C or better, or CSCI 224 with a grade of C or better, or equivalent. This course is intended to be both an introduction to the world of Enterprise Programming and to teach the Java 2 Enterprise Edition Platform (J2EE). The course covers advanced server-side programming concepts and helps develop problem-solving skills using an object-oriented/event-driven approach. Basic and advanced Web techniques, event handling, security, server programming, and distributed programming issues will be covered. Programming assignments will provide practical experience with Enterprise Application concepts. 3 HRS

CSCI 233: Enterprise Application Programming in Java I
Prerequisite: CSCI 131 with a grade of C or better or CSCI 224 with a grade of C or better or equivalent. This course introduces Enterprise Application Programming’s web tier using the Java 2 Enterprise Edition (J2EE) platform. The topics covered include: Servlets, Servlet containers, Java Server Pages (JSP), tag libraries, and web frameworks. Basic and advanced web techniques, event handling, security, server programming, and distributed programming issues will be covered. Programming assignments will provide practical experience with enterprise application concepts. 3 HRS

CSCI 234: Enterprise Application Programming in Java II
Prerequisite: CSCI 131 with a grade of C or better, or CSCI 224 with a grade of C or better, or equivalent. This course introduces the server-side aspects of Enterprise Application Programming using the Java 2 Enterprise Edition (J2EE) platform. The topics covered include: Java Database Connectivity (JDBC), Enterprise Java Beans (EJB), Object Relational Mapping (ORM), logging, application servers, the J2EE Connector Architecture, and enterprise frameworks. Basic and advanced web techniques, event handling, security, server programming, and distributed programming issues will be covered. Programming assignments will provide practical experience with enterprise application concepts. 3 HRS

CSCI 240: Data Structures
Prerequisite: CSCI 131 with a grade of C or better, or equivalent. Algorithmic paradigms (divide and conquer, greedy, dynamic, back-tracking); recurrence relations; complexity analysis (big oh, big omega, big theta, little oh); algorithms (graphs, sorting, searching, string processing); advanced ADTs (sets, graphs, heaps, hash tables); random number generation and related algorithms. 4 HRS

CSCI 251: Mobile Game Programming
Prerequisite: DMED 120 with a grade of C or better; and one of the following with a grade of C or better: CSCI 151 or CSCI 153. This course introduces game development on mobile platforms. The topics covered include: mobile application guidelines, small device interface guidelines, and game development concepts. Programming assignments will provide practical experience with mobile development concepts. This is a project-based course in which students will design and develop a game. Students will complete a portfolio documenting their work from initial concept through application completion. 4 HRS

CSCI 252: Mobile Applications Programming
Prerequisite: One of the following with a grade of C or better: CSCI 151 or CSCI 153. This course introduces application development on mobile platforms. The topics covered include: mobile application guidelines, small device interface guidelines, UI guidelines and application development concepts. Programming assignments will provide practical experience with mobile development concepts. This is a project-based course in which students will design and develop a full mobile application. Students will complete a portfolio documenting their work from initial concept through application completion. 4 HRS

CSCI 253: Mobile Communications Programming
Prerequisite: One of the following with a grade of C or better: CSCI 151 or CSCI 153. This course introduces communications and networking development on mobile platforms. The topics covered include: mobile application guidelines, wireless networking and wireless communications concepts. Programming assignments will provide practical experience with mobile development concepts. This is a project-based course in which students will design and develop applications that use and rely on wireless communications. Students will complete a portfolio documenting their work from initial concept through application completion. 4 HRS

CSCI 260: Database Management Systems
Prerequisite: CSCI 110 with a grade of C or better. This course provides a detailed study of relational database administration with advanced concepts. It includes planning for database implementation, installing, configuring, tuning, server administration and data management with the use of structured query language. 3 HRS

CSCI 296: Special Topics in Computer Technology
Prerequisite: As set by faculty. Course will offer students an opportunity to study a topic which is (1) unique and infrequently offered as a part of their program curriculum or (2) of special interest to industry. Each student wishing to enroll in Special Topics in Technology will be reviewed based on (1) previous experience, (2) courses completed, and (3) aptitude/ability match with selected topic. 2-4 HRS