CSCI 100 - Introduction to Programming
Credit(s): 3
This course is an introduction to elementary programming techniques. A wide range of programs will be written by the student and run on a computer. Students learn the techniques of looping, functions and subroutines, arrays, variables and data types, user input/output, file input/output, and appropriate programming practices common to most languages.
CSCI 107 - The Joy and Beauty of Computing
Credit(s): 3
This course examines the computing field and how it impacts the human condition and introduces exciting ideas and influential people. It provides a gentle introduction to computational thinking using the Python programming language.
CSCI 111 - Programming with Java I
Credit(s): 4
This is a foundation course in computer science using the high-level, object-oriented concepts in programming using Java. Topics covered are data types, arrays, basic programming constructs, iteration, decision statements, sequences, methods, exception handling, classes, objects, methods, encapsulation, data hiding, inheritance and polymorphism.
CSCI 113 - Programming with C++ I
Credit(s): 4
This course covers computer programming in C++. Topics covered are data types, arrays, basic programming constructs, iteration, decision statements, sequences, methods, exception handling, pointers, classes, objects, methods, encapsulation, data hiding, inheritance and polymorphism.
CSCI 121 - Programming with Java II
Credit(s): 4
This is a continuation of CSCI 111. Topics include error handling and debugging techniques, recursion, abstract data types, creating programs with multiple files and libraries, and creating straight forward GUI's that involve event driven programming and threaded programs.
CSCI 122 - Game Design Theory
Credit(s): 3
This course provides students with a foundation of the game development process including important historical elements, content creation strategies, production techniques, and future game design. The course covers game development history, platforms, goals and genres, player elements, story and character development, gameplay, levels, interface, audio, development team roles, game development process, and marketing and maintenance.
CSCI 127 - Joy and Beauty of Data
Credit(s): 4
This course provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, files, dictionaries and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed.
CSCI 132 - Basic Data Structures and Algorithms
Credit(s): 4
This course is an examination of advanced Java and basic data structures and their application in problem-solving. Data structures include stacks, queues, and lists. It provides an introduction to algorithms and employing the data structures to solve various problems including searching and sorting, and recursion. Students will understand and use Java class libraries and be introduced toBig-O Notation. The laboratory uses Java.
CSCI 203 - Introduction to Hardware Description Language Programming
Credit(s): 4
This course covers programing of Field Programmable Gate Arrays (FPGAs) using a Hardware Description Language such as VHDL (Very High Speed Integrated Circuit Hardware Description Language) to describe combinational and synchronous sequential logic circuits. Functional verification of designs is accomplished using a logic simulator. Students will get hands-on experience implementing digital systems on FPGAs.
CSCI 206 - .NET Applications
Credit(s): 4
This course covers advanced desktop and web application features of the .NET framework. Students will learn Exception Handling, Collections, Linq, Generics, Multithreading, .NET ADO.NET, ADO.NET Entity Framework, ASP.NET Web Forms and MVC, and Object Oriented Programming. Students will use C# language and Microsoft SQL Server for all projects.
CSCI 208 - Game Programming I
Credit(s): 4
This is an introductory course in game programing. The course introduces physics engines, sound engines, graphic engines, creating and editing primitives, textures and meshes, lighting concepts, properties and techniques, and creating terrain and other related topics through the use of the Unreal Gaming Engine or other production platform.
CSCI 209 - Game Programming II
Credit(s): 4
This course builds on skills learned in Game Programming I and covers advanced material construction, working with volumes, applying physics to objects, understanding particle systems, creating user interfaces, introduction to sound, introduction to animation, and creating cinematic sequences. The course will use the Unreal Gaming Engine or another production platform.
CSCI 210 - Web Programming
Credit(s): 4
This course uses PHP to create dynamic data-driven web pages. The emphasis will be on fundamentals of PHP and its syntax for the purpose of linking site pages to databases for queries, data manipulation, and updates. Topics include design and creation of server-side databases for interactive use by web pages; the use of SQL to search, filter, and add data driven by the user; and creation and population of forms and reports with query results.
CSCI 211 - Client Side Programming
Credit(s): 4
This course introduces JavaScript for use in web pages. JavaScript is a popular scripting language that is widely supported in web browsers and other web tools that adds interactive functions to HTML pages. Topics covered are data types and operators, functions and events, the browser object model, form validation, cookie creation, and animation using Dynamic HTML.
CSCI 220 - Virtual/Augmented Reality
Credit(s): 4
This is an introductory class in virtual and augmented reality. The class will examine the basic theories and concepts of virtual and augmented reality, physiological and ergonomics aspects of perception and motion, hardware, interaction, modeling, authoring, and programming. The class will involve projects which may include Google Cardboard, the Unreal Game Platform or other vr/ar platforms and hardware.
CSCI 232 - Data Structures and Algorithms
Credit(s): 4
This course covers advanced data structures and programming techniques and their application. Topics include trees, balanced trees, graphs, dictionaries, hash tables, and heaps. The efficiency and correctness of algorithms are examined. Projects are coded in JAVA.
CSCI 238 - Standards-based Mobile Applications
Credit(s): 4
This is an introductory course in developing mobile applications utilizing industry standard languages, tools, and frameworks. Applications will be created using standards-based HTML 5, Cascading Style Sheets, and JavaScript along with frameworks to assist in the deployment to different mobile platforms. Frameworks such as PhoneGap, Cordova or other suitable platforms will be utilized to gain access to platform devices and sensors.
CSCI 240 - Databases and SQL
Credit(s): 3
This course focuses on the concepts of relational databases. Topics include entity relationship diagrams, design process and normalization, table creation, records and typed fields, primary and foreign keys, and a thorough coverage of Structured Query Language (SQL) to create, query and change a relational database.
CSCI 298 - Internship
Credit(s): 3
This course offers a supervised, structured learning experience at an approved business/organization. Students will receive training related to their field of study, enhance their academic learning and gain exposure to the workplace. Prior to placement at an internship site, students will attend an internship orientation to learn the application and internship process.
CSCI 299 - Capstone
Credit(s): 3
This course provides an opportunity for the student to complete special project(s) using knowledge gained in previous coursework. The student can develop an application, mobile app, database or other project(s) related to their major. The end result is a project that can be shared with potential employers. All projects must be approved by the instructor.