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.