CSCI 1000 Computer Basics

Credits: 3
Goal Areas: n/a
Course Outline 1000 (PDF)
The students will get hands-on experience with an operating environment (the current version of Microsoft Windows) and Windows-based applications which include spreadsheets, word processors and presentation packages. The course enables students to use computers to process information and communicate using e-mail and World Wide Web.

CSCI 1020 Beginning Web Page Programming

Credits: 1
Goal Areas: n/a
Course Outline 1020 (PDF)
Students learn practical techniques and principles of Website authoring; create multimedia-enhanced commercial, entertainment or educational sites; and plan site maintenance, promotion and implementation of user feedback. Prerequisite: Some experience with Microsoft Windows

CSCI 1025 Responsive Web Design

Credits: 1
Goal Areas: n/a
Course Outline 1025 (PDF)
This course will prepare students to design web pages that will respond to the media or device on which they are viewed. This course will focus on HTML5, some JavaScript and CSS media queries. Prerequisites: A grade of C or better in CSci 1020

CSCI 1030 Programming for the Internet

Credits: 3
Goal Areas: n/a
Course Outline 1030 (PDF)
This course covers the practical aspects of a programming language used for development of advanced Internet applications which include: on-line animation and interactivity, feedback, and browser control enhancements. The actual language used (JavaScript, Perl, or Java) will be chosen by the instructor. The course also includes a brief introduction to advanced HTML and SCS, uploading the site to a Web server and promoting it.Prerequisite: CSci 1000 or 1010 or 1020 or CIS 1101 or 1102

CSCI 1035 Introduction to Computer Programming with Games

Credits: 4
Goal Areas: n/a
Course Outline 1035 (PDF)
This is an introductory computer programming course. The students will engage in hands-on implementation of games and simulations in a graphics-enhanced development environment. The students will learn how to transform game scenarios into algorithms and programs, create user interfaces, and incorporate multimedia. Basic computer skills are necessary for success in this class.

CSCI 1040 Fundamentals of Structured Query Language (SQL)

Credits: 3
Goal Areas: n/a
Course Outline 1040 (PDF)
The goal of this course is to teach students how to design, build and use databases utilizing Structured Query Language (SQL). Students will learn to enter and retrieve information from a relational database. Students will learn SQL syntax for query creation, including complex multi-table joins, and for displaying and analyzing query results. Students will design and deploy their own databases.

CSCI 1050 Computer Security Basics

Credits: 3
Goal Areas: n/a
Course Outline 1050 (PDF)
This course examines the issues surrounding computer security in todays highly technological world. The course is designed to provide an overview of security problems, technical issues and the principles associated with databases, networks, network defense, administrative controls, privacy, operating systems, and programming. The knowledge gained from this course will allow programmers, instructional designers, information technology specialists, and managers to better understand various issues surrounding secure computing. Proficiency in computer skills is strongly recommended.

CSCI 1120 Programming in C/C++

Credits: 4
Goal Areas: n/a
Course Outline 1120 (PDF)
This course introduces the C/C++ programming language and its foundational topics. In this course students will explore fundamental programming and computing concepts with a focus on problem solving, algorithm development and implementation. Topics included are: data types and memory concepts, arithmetic operators and mathematical expressions, conditional statements, repetition, arrays, functions, procedure and the basics of object-orientation.

CSCI 1130 Introduction to Programming in Java (CS0)

Credits: 4
Goal Areas: n/a
Course Outline 1130 (PDF)
This course provides an introduction to the Java programming language and its foundational topics. In this course students will explore fundamental programming and computing concepts with a focus on problem solving, algorithm development and implementation. Topics included are: data types and memory concepts, arithmetic operators and mathematical expressions, conditional statements, repetition, arrays, methods and the basics of object-orientation.

CSCI 1150 Programming in C# for .NET

Credits: 4
Goal Areas: n/a
Course Outline 1150 (PDF)
This course provides an introduction to object-oriented programming using the C# programming language. The majority of the course will be on the semantics of the C# language, a major component of Microsoft .NET development environment. Topics include: Visual Studio .NET integrated development environment, selected value and reference types, control structures, operators and expressions, methods, classes, and inheritance. Completion of this class will prepare the student for advanced topics in C#. Prerequisite: Math 1150 with a grade of C or better

CSCI 1180 Introduction to Linux Operating System

Credits: 4
Goal Areas: n/a
Course Outline 1180 (PDF)
This course introduces Linux, a popular open-source operating system and a variety of Unix. Topics include installing and using Linux, the architecture of Linux, using the command-line shell, the file system, common utilities (including text editors), and the basics of shell scripting. As a component of Cyber Security certificate, this course addresses the security matters of user login authentication, file and program permissions, computer networking, and network protocols. Hands-on work with Linux is a central part of this class. Some experience in computer programming is recommended.

CSCI 1990 Computer Science Special Topics

Credits: 1-4
Goal Areas: n/a
Course Outline 1990 (PDF)
Description - This course surveys practical implementations and mechanisms underlying programming languages.Students learn the concepts and terminology of compiler components used to generate computer programs. This is a project based course that entails writing a simple compiler and/or interpreter.Major Content Areas - Topics include interpretation, compilation sequence and targets, language patterns, symbol tables, lexical analysis, semantic analysis and parsing, error handling, code generation, and optimization. Prerequisites - CSCI 1130 or CSCI 1120 or permission of the instructor.Learning Outcomes - Students successfully completing this course will be able to: Describe and explain the terminology and techniques of lexical analysis, sematic analysis and parsing, instruction flow, and code generation. Explain the typical components of a compiler and related models of implementation. Explain low level compilation sequences. Describe cross compilation for operating systems and CPUs. Describe code optimization.

CSCI 2001 Object Oriented Programming (CS1)

Credits: 4
Goal Areas: n/a
Course Outline 2001 (PDF)
Students will learn object-oriented programming while creating algorithms.The basic principles of software engineering are emphasized. By doing their own Java projects, students will developproblem-solving skills and gain experience in detecting and correcting software errors.Procedures, recursion, and iteration will be presented in the development of algorithms. Inheritance and polymorphism are studied. The use of abstraction will be emphasized throughout the course.

CSCI 2002 Data Structures and Algorithms (CS2)

Credits: 4
Goal Areas: n/a
Course Outline 2002 (PDF)
This course continues using abstract data types and the concepts presented in CSci 2001 and introduces stacks, queues, linked lists, and trees. This course also covers advanced programming topics of recursion, sorting methods, and complexity measures. This is an object-oriented programming course.

CSCI 2010 Discrete Mathematical Structures

Credits: 4
Goal Areas: 02,04
Course Outline 2010 (PDF)
The course covers mathematical topics essential for work in computer science. Topics include: number bases, mathematical induction, sets, relations, functions, congruence, recursion, combinations and permutations, probability, graphs, trees, logic, Boolean algebra, and proof techniques. Computing related problems and examples are integrated throughout the course.

CSCI 2011 Programming in Python

Credits: 1
Goal Areas: n/a
Course Outline 2011 (PDF)
The course will introduce the Python Programming language in terms familiar to students experienced with writing simple, yet complete, programs in other languages. Additionally, the course will focus on utilities and features considered strengths in Python. This includes interfaces to specialized libraries and databases. Prerequisites: CSCI 1120 or CSCI 1130 or CSCI 1150 or CSCI 2001 or CSCI 2400

CSCI 2020 Computer Architecture

Credits: 4
Goal Areas: n/a
Course Outline 2020 (PDF)
As an introduction to computer organization and structure, this course includes beginning machine and assembly language programming. Topics to be covered include logic gates and Boolean algebra, basic elements of computing devices, basic components of a computer, data representation and number systems, micro operations, microprogramming, and input-output programming.

CSCI 2030 Database Modeling and Design

Credits: 4
Goal Areas: n/a
Course Outline 2030 (PDF)
This course covers relational databases from conceptual design to implementation. The course will include logical and physical design, normalization, as well as the definition of tables and keys. The use of Structured Query Language (SQL) for data retrieval and manipulation will be emphasized.

CSCI 2040 Introduction to Networking Protocols and Analysis

Credits: 4
Goal Areas: n/a
Course Outline 2040 (PDF)
This class examines the basic principles of networking, transitioning from Transmission Control Protocol, User Datagram Protocol, Internet Control Message Protocol, and Internet Protocol (TCP, UDP, ICMP, and IP), network architecture, and the Open Systems Interconnection (OSI) model into network defense. Networks are essential for organizational success, and cybersecurity professionals must understand network processes, protocols, and administration. This course will focus on developing skills in creating network architecture, network administration, network analysis, and how to apply this knowledge to improve the network security posture through defense in depth.

CSCI 2050 Internship Computer Science

Credits: 3
Goal Areas: n/a
Course Outline 2050 (PDF)
The main objective of this course is to provide practical training and real work experience for the students. Often, it will include productive work contribution, and prospective employee evaluation for the employer. It can lead to increased college-industry interaction for the department and the college. Completion of this class will better prepare the student for multiple activities in a workplace. It should reflect positively on the students resume (employers view internship experiences positively.) Internship is an excellent opportunity for a student to affirm career interests. These opportunities can also provide the credentials needed for full-time positions. Internships and co-ops provide opportunities to network with professionals; strengthen confidence, maturity, and professionalism; establish professional references. Prerequisite: Enrollment in the computer science program, completion or concurrent enrollment in CSci 2002, a B average in all CSci courses

CSCI 2060 Web Programming in ASP.NET

Credits: 4
Goal Areas: n/a
Course Outline 2060 (PDF)
ASP.NET is a technology for creating web-based programs and services. This course introduces ASP.NET on the foundation of the prerequisite courses that taught the fundamentals of .NET framework, C# programming language, SQL Server database, and the primary development environment Microsoft Visual Studio.The main goal of this course is to teach the basics of creating and deploying Web applications utilizing ASP.NET technology. Besides using the C# programming language, the students will learn the commonly used ASP.NET controls included in Microsoft Visual Studio. The course includes the techniques of reading the data from a SQL Server database into a Web application and displaying it on a web page, as well as modifying and amending the database content.Prerequisites: CSci 1150 and CSci 1040

CSCI 2101 Foundations of Cryptography

Credits: 4
Goal Areas: n/a
Course Outline 2101 (PDF)
This is a foundational course in cryptography covering systems of secure communication relevant to the field of Cyber Security and to Computer Science in general. Topics include theories and applications of encryption of both historical and modern methods, and techniques for creating systems of secure communication. Programming is undertaken to encode and decode information using industry standard cryptographic algorithms. The C programming language is emphasized due to its ubiquity in both the field of applied cryptography and in operating systems. While this is not a course to study techniques for breaking cryptographic systems (cryptanalysis), considerations are given to the probability that weaknesses in a cryptographic cipher can be exploited and that data confidentiality, integrity, and availability can be potentially lost.