Computer Science

Degrees and Certificates

Classes

CSCI106N: Introduction to Computer Science

This course will examine fundamental aspects of computing such as the role of an operating systems, the history of computers, computer
data representation and the stored program concept. The student is introduced to these concepts in order to form a foundation to be
utilized and enhanced by other program related courses.

CSCI109N: Full Stack Web Development

This course provides an overview of full stack web development. The course covers client-side web development using HTML and CSS and JavaScript as well as server-side scripting using a modern server-side language. Students will learn how to create valid, semantically correct HTML5 pages, distinguish between content, presentation and logic, deliver appropriate user interfaces, collect and validate data for submission to a server. Server-side topics include dynamic content, security, data validation, preventing SQL injection and session management.

CSCI120N: Introduction to Scripting - Python

This course introduces the use of Python as a scripting language. It covers the syntax, data types, conditional control structures, looping and the use of functions. The use of lists, dictionaries and sets is described. Object-oriented terminology and programming concepts are introduced, including the use of classes, methods and properties. The selection and use of libraries is included. The course covers data retrieval, analysis and reporting using tuples read from files, NoSQL and SQL databases. Labs allow students to apply the concepts taught, students will learn how to create and execute Python scripts as well as debugging, testing and troubleshooting techniques.

CSCI130N: Databases - An Overview

This course covers the fundamental concepts of database systems. Students will focus on two of the most common types of databases, SQL or relational and NoSQL or document-based databases. The course covers preparation of databases, how to import data efficiently and techniques to query and aggregate the data for analysis. The applications of different database types will be compared as well as important considerations when choosing databases and tools.

CSCI140N: Essentials of System Analysis & Design

Minimum grade of "C” or better required for this course

This course provides an introduction to systems analysis and design. Students will be introduced to the basic principles and concepts of software engineering thereby providing the necessary foundation for subsequent software engineering courses. Topics include basic terminology and core software engineering concepts; the Software Development Life Cycle (SDLC); systems requirements gathering and selection; modeling systems using Data Flow Diagrams (DFD) and the Unified Modeling Language (UML); project scheduling using GANTT charts; database environment; and an introduction to a relational model.

CSCI161N: Introduction to Programming

Minimum grade of "C” or better required for this course.

This course serves as the first computer programming course. It introduces students to the concepts of problem solving, code development, and code organization. Students learn how to: define a problem, develop a solution, translate the solution into code, compile it, and run the program. Students learn basic principles of declaring variables and memory allocation. They learn control structures such as single, double, and multiple selections and various forms of looping. Students also learn simple data structures such as arrays, and simple on disk file structures such as text and random files. Finally, students learn to analyze existing algorithms and develop their own algorithms for solving applied problems. These concepts are taught using a contemporary programming language. Graphics are incorporated into the course to enhance the class content and enrich the content in a visual manner.

CSCI170N: Linux Essentials

This course introduces the Linux operating system. Students will learn Linux file and directory structure, creating, updating and managing files. The use of text editors, redirection, piping and common utilities such as sort, grep and sed are covered. The use of scripting and scheduling is included, as well as backup and restore procedures. User administration is presented, creating, updating and removing users and granting and revoking access to resources. The use of package managers to install, upgrade and remove software is covered. Security is embedded throughout the course, with key considerations highlighted in each topic.

CSCI175N: Programming Using C++

Minimum grade of "C” or better required for this course

This course is the first course in C++. The student's problem solving skills will be strengthened while learning C++. The importance of variable data types, arrays, if, if else, loops, and functions will be emphasized. Additionally the student will be introduced to pointers, structures, and selected preprocessor directives.

CSCI206N: Server-Side Scripting Using PHP

The student is introduced to the fundamentals of server side scripting in a web server based environment. This course focuses on the fundamentals needed to design and create dynamic and interactive HTML pages that access information on the server. Students learn to design and develop applications for use in an intranet/internet environment.

CSCI207N: Database Design & Management

This course is an introduction to database design and management. The students will be introduced to the following topics: Database environment, the database development process, including information architecture and system planning, database analysis, database planning and design, the relational theory and terminology as well as normalization. The course will also introduce the student to CASE tools and their uses in the database development process. Additionally the course will study the Structured Query Language (SQL). Students will apply their knowledge with hands-on projects designed to teach the intricacies of database design.

CSCI230N: Object Oriented Programming Using: C++

In this course, the student will continue to develop proficiency in problem solving using more in depth abstract programming constructs using the C++ programming language and object oriented techniques. They will strengthen their knowledge of classes, inheritance and polymorphism. Templates and the Standard Template Library (STL), Exception handling and Operator Overloading will be discussed in detail. File processing will be discussed in greater detail. Students will be familiar with the data structures and algorithms as applied to the solving of everyday problems.

CSCI278N: Data Structures Using C++

This course is the fourth in the software development sequence. It introduces the student to algorithms used to represent data in an efficient manner. Standard data structures and problem solving techniques will be introduced. The data structures studies will involve stacks, queues, linked lists, trees, graphs and hash tables. These structures will be presented in an object-oriented manner using C++ language.

CSCI285N: Senior Computer Science Lab: A Capstone Experience

This is the capstone course in the Computer Science Program. Students, in cooperation with supervising faculty members, demonstrate their mastery of their software development competencies. They select a project and perform the work necessary to move it through the phases of the SDLC including project definition, project planning, systems analysis and process modeling including data flow and UML, systems design including GUI design and data structure design, project scheduling and project implementation and testing using one or more scripting or programming languages. Students are expected to present the completed project documents as well as to present the actual project to fellow students and department faculty members.

CSCI290N: Computer Science Internship

The internship program allows the student to apply, in a work environment, competencies and skills learned in the classroom. Internship activities include a weekly seminar in which the different business structures and work experience will be shared. Students will keep a journal of their work experience. A final report will be written to evaluate work experience. This course offers a service learning option.