Computer Information Systems (CSC)

Computer Information Systems (CSC)

100 Computer Literacy
Intended to introduce the student to the computer and its usefulness in a variety of fields.  The student will be exposed to a broad range of application concepts using Microsoft Office.  Hands-on activities will include word processing, spreadsheet, database, and graphics.  This course will not count toward either a major or minor in Accounting, Business Administration, Computer Science, Computer Information Systems, or Mathematical Sciences.  Academic credit toward the completion of 121 hours will not be given for both CSC 100 and BUS 230. Please note that BUS 230 is required for Accounting, Business Administration, and Computer Information Systems majors.
Three hours, three credits.

101 Introduction to Computers and Computer Information Systems
An introductory computer course that will explore the world of computers: how computers work, what they do, and how they do it.  A basic introduction to computer programming and programming design, operating systems, and computer careers will be included in this course.
Three hours, three credits.

102 Computer Hardware/Troubleshooting
This course covers essential competencies for an entry-level IT professional or PC service technician.  Topics covered included but may not be limited to installing, building, configuring, upgrading, troubleshooting and repairing personal computers, and troubleshooting basic network and internet connectivity.  In addition Microsoft Windows system management tools will be used to maintain and repair personal computers. Other topics covered will include the latest memory, bus, peripherals, and wireless technologies.
Three hours, three credits.

180, 280, 380, 480 Computer Science Practicum
The course will be tailored to the interest and talents of each individual student.  The goal will be to give the student hands-on experience in some aspect of computer science not specifically addressed in the regular course curriculum.  Examples of possible experiences include (but are not limited to) such things as aiding as an assistant in the computer laboratory during introductory classes, new software trials, installation, and investigations, working in the digital imaging laboratory, and computer language implementations.  It must be stressed that the work will be carefully constructed around the student’s background and interests.  May be repeated for up to three credits.
One credit.

225 Introduction to Visual Basic
An introduction to a graphical environment using Visual Basic.  Visual Basic is an event-driven and object-oriented language leading to user-friendly applications in a Windows environment.  Students will produce windowed applications with menus, control buttons, multiple screens, pull-down lists, and external files.  Prerequisites: CSC 101 and either CSC 100 or BUS 230.
Five hours, four credits.

230 Web Design
This course introduces the student to the techniques for building a website using Macromedia products.  Topics will include design and graphic tools.  Prerequisites: knowledge of Windows 2000 or later, the Internet, and basic search methods.  Prerequisites: any CSC 100 level or higher or BUS 230.
Three hours, three credits.

242 Computer Networking
This course is intended to introduce the student to the terminology, theory, applications, and problems involved in the area of computer networking.  The current technology and architectures in use will be studied.  In addition, an overview of the various network types and design approaches will be presented.  The student will be expected to investigate a particular local-area network (LAN) design and present it to the class.  Prerequisites: Prerequisites: CSC 101 and either CSC 100 or BUS 230.
Three hours, three credits.

290, 390, 490 Selected Topics in Computer Science
A course to acquaint students with important techniques, skills, principles, and ideas that are not covered in the regular CSC curriculum.  These courses allow the program to adapt to the rapidly changing theory and technology in the field.  These courses may be taught by Ferrum faculty or by other professionals.  Credit hours vary depending on course topic.
One to three hours, one to three credits.

291, 391, 491 Competitive Computer Programming
As many mundane programming jobs move overseas the competition for the top programming jobs is increasing.  Also increasing is participation in international programming contests.  There are now two large, well-recognized international contests and a busy website devoted only to contest programming.  Individuals who do well in these contests have a major competitive advantage landing the best and highest paying jobs.  This course covers special topics and techniques for successfully competing in these contests.  Students who do well in this course are usually selected to be on Ferrum's Association for Computer Machinery (ACM) Programming Contest Team that competes in the Mid-Atlantic Regional contest that is typically held in November.  After the ACM team contest the course will focus on preparation for individual competition on the commercial contest site, TopCoder.

Computer Science students are encouraged to take this course in the Fall as sophomores, juniors, and seniors under successive course numbers and to compete each year in the contest.  The course will meet twice a week.  One period is spent in discussing special topics and techniques, the other period is spent solving problems in a simulated contest environment.  Additional practice periods are required for those that wish to be part of the Ferrum ACM contest team.  The problems assigned to juniors are harder than those assigned to sophomores and similarly for seniors.  Part of the course grade depends on having problem solutions accepted by an on-line judge.  The course involves a considerable academic effort for each student, a weekly classroom meeting and a laboratory throughout the semester.  Prerequisite: CSC 320 or equivalent ability to solve programming problems using C++.
Three hours, two credits.

310 Java Programming
This course is an introduction to object-oriented programming concepts and the Java syntax to implement these concepts.  The Visual J++ programming language will be used.  Students will learn the fundamentals of structured logic using decisions, loops, array manipulation, and file handling.  They will write Java applets that use GUI components (graphical user interface components such as buttons, check boxes, and menus) and Java graphics.  Prerequisite: CSC 225 or 320.
Three hours, three credits.

312 Computer Organization
Topics include basic digital circuits, Boolean algebra and combinatorial logic, data representation and transfer, digital arithmetic, digital storage and access, control features, input-output facilities, system organization, reliability, and features needed for multiprogramming, multiprocessing, and real-time systems.  Prerequisite: CSC 225 or 320.
Three hours, three credits.

320 Programming Using C++
This is a programming course using the C++ programming language.  The program development cycle is used to define, design, code, and test document applications using C++ programming language.  Topics covered include variable definitions, selection structures, repetitive structures, function, classes, input/output files, arrays, strings, and pointers.  Prerequisites: CSC 101 and either CSC 100 or BUS 230.
Three hours, three credits.

321 Data Structures
Provides the student with the fundamentals of data structure design and implementation.  Topics include linked lists, strings, stacks, queues, arrays, representation of trees and graphs, searching and sorting techniques, and formal specification of data structures.  Prerequisite: CSC 320.
Five hours, four credits.

325 Advanced Computer Applications
(see BUS 325)
Three hours, three credits.

340 Visual Basic for Applications
Visual Basic for Applications will introduce the students to the very latest methods for controlling input and output in the Microsoft Office suite of programs.  Macros and Visual Basic applications will be used to integrate the power of Word, Excel, Power Point, and Access from the programming standpoint to greatly boost the power of each.  Prerequisites: CSC 225.
Five hours, four credits.

342 Networking II - Administration and TCP/IP
The course is the second course is a sequence of three networking courses.  Understanding how to administer a network is a vital element in preparing for a career in the field of networking.  Topics covered in this course include setting up and configuring a Microsoft Windows server, managing users and user groups, granting rights and privileges, configuring and managing network resources, managing day-to-day traffic issues, back up methods for servers, tcp/ip protocol, allocating ip addresses, and subnetting a network using a bank of ip addresses.  Students will be researching the Internet as well as following technical instruction manuals in order to complete hands on assignments.  Prerequisite: CSC 242 .
Three hours, three credits.

350 Operating Systems
Concerned primarily with the software organization of computer systems which support a wide variety of users.  It is intended to bring together the concepts from the previous courses on data structures, programming languages, and computer organization by considering their role in the design of general computer systems.  CSC 312 is highly recommended.  Prerequisites: CSC 102.
Three hours, three credits.

401 Database Theory
Topics will include data normalization, Entity Relationship Diagrams (ERD), fundamental file-system organization, database implementation, information retrieval, methods to gain reliability, methods of protection of data, coding of data, and database operation and management.  This is an Oracle-based course.  Prerequisite: BUS 325.
Three hours, three credits.

410 Windows Programming
This course is an introduction to the use of the Visual C++ language for Windows programming.  Visual C++ allows a programmer to create a C++ application program with user interfaces that resemble and conform to the Windows environment.  Prerequisite: CSC 321.
Three hours, three credits.

442 Networking III - Hardware/Router Configuration
The course is the third course in a sequence of three networking courses.  Installation and configuration of hardware is one of the most important aspects of networking.  Students in this course will learn to evaluate, install, and configure commonly used hardware on today’s networks.  Hardware studied included: network interface cards, hubs, routers, and switches.  a large portion of the course will be devoted to router and switch configuration.  Network security will be covered including types of network security attacks and methods for securing the network.  In-class instruction, hands-on labs, researching the Internet as well as following technical instruction manuals will all be used.  Prerequisite: CSC 342.
Three hours, three credits.

444 Computer Game Development
This course introduces students to computer game development.  It uses C++, Windows with MFC, and the OpenGL game development system.  The course includes a study of gaming data structures and the mathematics and physics of games as well as specific OpenGL techniques.  A game development project accounts for 40% of the course grade.  Prerequisites: CSC 410 or equivalent experience and MTH 211 and 311.
Three hours, three credits.

450 Computer Simulation
Simulation is a modeling technique that provides a way to observe a system in action.  This course is meant to introduce the student to computer simulation as a research and decision-making instrument.  Focus will be on event scheduling and process interaction.  The course will focus on relationship in model representation, the model development process, and the model life cycle.  Prerequisites: MTH 206 or 208 and any programming language.
Three hours, three credits.

498 Senior Research Seminar in Mathematics/Computer Science
(see MTH 498)
Three hours, three credits.

499 Internship
Internships are normally spent off-campus in work situations or voluntary service activities.  They are carefully supervised and are designed to provide experience in areas related to academic coursework.
Three to nine credits.