All provisions within this catalog are subject to change without notice. If you have questions or comments, please contact admissions@gfcmsu.edu.

Computer Science/Programming (CSCI)


CSCI 100 Introduction to Programming

Credits: 3

Term: (F, S)

Prerequisite OR Corequisite: CSCI 105

This course is intended to provide an introduction to computer programming for the student with little or no prior experience and to help students considering a major in computer science to decide whether or not to pursue its study. The strategic goals of this course are to help students gain confidence in their ability to write small programs; map everyday business problems/tasks to a programming framework; provide an easier entry into the field than afforded by traditional computer science or engineering programs; provide students with leverage to compete for jobs by providing competence and confidence as programmers; and allow students from other disciplines to make use of computational methods in their chosen field.

CSCI 105 Computer Fluency

Credits: 3

Term: (F, S, Su Based on sufficient demand)

Introduces the skills and concepts of information technology, both from practical and a more theoretical point of view. During lectures and interactive computer labs, students will explore a wide range of digital and information technologies, including common PC applications, networking, databases, privacy, and security.

CSCI 111 Programming with Java I

Credits: 3

Term: (S)

Prerequisite: CSCI 105 and M 090; or qualifying placement score within the past 5 years.

Programming with JAVA I introduces the students to the basic concepts of programming. Students will learn how to design programs using decision-making processes and breaking down components to assess what is necessary for the program to produce the required results. Students will learn how objects and their corresponding data types interact with the methods and classes. The programs will use a variety of methods, arrays, control structures, iteration, and sequencing to complete the requirements of the programs.

CSCI 114 Programming with C#

Credits: 3

Term: (F, S)

Prerequisite: CSCI 105

Provides students with the knowledge and skills required to program in the high-level, strongly-typed "C" language family. The course provides the skills required to compile program code, work with .NET framework class library, and create user-defined types. The course also teaches students how to troubleshoot coding errors, logic errors, and run-time errors. Students will also develop skills to work with built-in numeric types as well as more complex types that represent a wide variety of logical constructs, such as the file system, network connections, collections and arrays of objects, and dates.

CSCI 124 Advanced C#/.NET

Credits: 3

Term: (F, S)

Prerequisite or Corequisite: CSCI 111 or CSCI 114

Provides students with an understanding of basic data structures such as arrays and array lists and their usefulness in manipulating data. This course will provide students with learning experiences in connecting database applications and external measurement devices and manipulating, analyzing and displaying the data acquired by those means to develop C#/.NET dynamic applications.

CSCI 132 Basic Data Structures and Algorithms

Credits: 4

Term: (F)

Prerequisites: CSCI 111 OR CSCI 114

This is a third semester programming course that makes a deeper examination of the nature of data representation and algorithm analysis. Major topics include the fundamental data structures used in modern programming (lists, stacks, queues, and trees) as well as investigation of the techniques used to perform algorithm analysis.

CSCI 181 Web Design and Programming

Credits: 4

Term: (F)

Prerequisite: CSCI 105

This course focuses on the fundamental technologies and techniques essential to development of web-based applications. Topics include basics of web design, readability and accessibility, HTML5, CSS. Use of coding tools, validation, site hosting and FTP are examined. Students in the course will design, code, validate, and host a complete web-site as part of a semester-long project.

CSCI 211 Client Side Programming

Credits: 3

Term: (F)

Prerequisites: CSCI 100

Prerequisite or Corequisite: CSCI 181

This course focuses on the technologies and techniques used to deliver rich content in web browsers. The primary objective in this course will be proficiency using JavaScript and various JavaScript libraries.

CSCI 213 Web Programming Techniques

Credits: 3

Term: (S)

Prerequisites: CSCI 211 and CSCI 240

This course provides a thorough treatment of server-side programming as it applies to Web applications using PHP and relational database. Students will develop and deploy a web application of medium complexity that utilizes PHP and a relational database.

CSCI 223 Software Development

Credits: 3

Term: (S)

Prerequisite: CSCI 111 and CSCI 240

This course provides an in-depth examination and practical application of the methodologies for software design and development. Both classic (Waterfall) and emerging (Agile) methodologies are investigated. Basics of project management is explored as well. Students will gain experience by producing software using various methodologies.

CSCI 232 Intermediate Data Structures and Algorithms

Credits: 3

Term: (S, Su based on sufficient demand)

Prerequisite: CSCI 132

An advanced treatment and continuation of the content covered in CSCI 132. Topics include in-depth examination and application of trees, binary trees, dictionaries, graphs, hash tables and heaps. Algorithm work analysis and validation are examined.

CSCI 240 Databases and SQL

Credits: 3

Term: (S)

Prerequisite: CSCI 100

This course presents the fundamentals of relational database design and implementation. Major topics include design models, normalization forms, Data Definition Language (DDL), Data Manipulation Language (DML) and Structured Query Language (SQL). These topics will be reinforced by a semester-long, group project to implement as a simple buisness database.

CSCI 291 Special Topics

Credits: 1-6

Term: (S based on sufficient demand)

Prerequisite: Consent of the Instructor

This course provides students with knowledge based on emergent technologies or topics. Individual courses may benefit certifications or provide more in-depth knowledge in topics that are not covered in the current curriculum. Topics will vary and will be determined by industry changes, technological advances, requests from the advisory board and student interest.

CSCI 298 Internship

Credits: 3

Term: (S)

Prerequisite: Sophomore status or consent of instructor

This is the final course that completes the student's curriculum for the Computer Information Technology (CIT) degrees. This will provide students the ability to acquire firsthand experience by completing an internship, and study interviewing techniques including preparation of an appropriate resume, personal letterhead, and appropriate methods used for contacting potential employers, personal dress, and attitudes relating to the interview presentation process.

CSCI 299 Programming Capstone

Credits: 3

Term: (S)

Prerequisite: Consent of the Instructor

The Capstone project allows the student to demonstrate mastery in each of the major areas of study in computer programming by way of the creation and delivery of a software product. Students in this course will submit a formal proposal of the product to the instructor and gain approval before work can commence. The student and instructor will meet regularly to review and assess progress throughout the semester.