Computer Science

 

Computer Science Courses

CSC

050 

INDEPENDENT STUDY

One to three credit hours

This course is designed to assist students in the study of computer topics beyond those included in the regular course offerings. Students working in cooperation with a supervising faculty member may study approved material which does not duplicate a course presently in the curriculum. See Independent Study Program, Section II.

CSC

070

INTERNSHIP

Credit hours to be arranged

Academic credit is offered for appropriate off-campus, computer-related experience. See Internship Program, Section II.

CSC

259,359,459

FACULTY-STUDENT COLLABORATION

Credit hours to be arranged

See FSC Program, Section II.

CSC

121

TECHNOLOGICAL LITERACY FOR TODAY’S WORLD

Three credit hours

This course introduces concepts and methods concerning the use of computer-based systems in business and other aspects of society, including communication technologies and the sciences.  Several applications will be introduced in a hands-on, laboratory setting, including word processing, presentation software, spreadsheets, HTML, e-mail, the Internet, and the World Wide Web.

CSC

131

COMPUTER APPLICATION SOFTWARE

Two credit hours

Prerequisite: Dependent upon topic

The focus is on the application of a specific software product. Techniques for using software will be learned while applying them to the solution of information-processing problems. Students are permitted to repeat the course when it is offered with a different software application, but no more than six credit hours of CSC 131 may be counted toward graduation requirements.

CSC

135

WEB SITE DESIGN

Three credit hours

This course is designed to provide experience in the development of basic web sites, focusing on standard web development languages and tools such as HTML, XML, CSS, and JavaScript. Use of web editing tools such as Joomla or Dreamweaver is also included. Several web sites will be developed to practice the implementation of the technologies discussed.

CSC

141

ADVANCED APPLICATIONS FOR INFORMATION ANALYSIS 

Three credit hours

Prerequisite: CSC 121 or basic computer literacy, including the use of word processing and beginning Excel, is assumed; readiness for MTH 136 or higher or completion of MTH 137.

This course focuses on spreadsheet and database technologies with an emphasis on the application of those technologies in the business domain.  Topics include creation of spreadsheets and databases, financial and statistical functions, charting, problem solving tools, querying of databases, creation of forms and reports, macros, and the integration of spreadsheets and databases. 

CSC

170

INTRODUCTION TO COMPUTER INFORMATION SYSTEMS

Three credit hours

This course is designed to provide an introduction to computing from a perspective of information systems as opposed to computer science.  As such, the course focuses less on the technical aspects of computer systems and more on systems architecture and the usage of computer systems within organizations. The course builds the foundation necessary for student interested in areas such as business analysis, project management, and system design. Topics include Boolean algebra, databases, HTML, system architecture, and the software development life cycle.  Ethical considerations are introduced throughout the course. 

CSC

180

FOUNDATIONS IN COMPUTER SCIENCE

Three credit hours

This introductory course is designed for those students intending to major or minor in Computer Science or Computer Information Systems. Topics include the internal representation of values and instructions, digital logic and circuits, machine language, network terminology and architecture, algorithmic thinking, data communications, security, and the use of global networks.

CSC

210

COMPUTER SCIENCE I: PROGRAMS AND APPLICATIONS

Three credit hours

This course covers the fundamental concepts of computers and computer programming in the procedural paradigm. Repetition, selection, procedures, simple data types, arrays, and records are covered.  Object-orientation is introduced. Structured design and programming techniques are emphasized.

CSC

211

INTRODUCTION TO PROGRAMMING IN PYTHON

Three credit hours

This course is intended to provide students with basic skills and experience in the analysis of problems, the creation of algorithms to solve these problems, and implementation of the resulting algorithms as working programs. The Python programming language is used and many of the assignments focus on the creation or manipulation of multimedia components.

CSC

235

SYSTEM REQUIREMENTS AND TESTING

Three credit hours

Prerequisite: CSC 170 or CSC 180

This course is designed to introduce the student to the areas of requirements gathering and testing of computer systems.  The course focuses on building the skills necessary to drive a student's understand, application and success in the Business or Systems Analysis arena. Case studies will be used to explore requirements gathering.  Testing topics will include V Model and Testing First models.  Students will be introduced to the components of a testing plan and be required to create portions of a test plan using industry standard techniques.

CSC

241

LINEAR DATA STRUCTURES

Three credit hours

Prerequisite: CSC 170 or CSC 180 and CSC 210; Corequisite: MTH 161

This course emphasizes the design, construction, and use of structured data and objects. Both static and dynamic linear structures are covered, including lists, stacks and queues.

CSC

242

NON-LINEAR DATA STRUCTURES

Three credit hours

Prerequisite: CSC 241 and MTH 161

This course expands the study of data structures begun in CSC 241 to non-linear structures, including trees, graphs and heaps. Special attention is paid to the time and space complexity of the related algorithms. More advanced language topics are introduced.

CSC

250

MULTIMEDIA PROGRAMMING

Three credit hours

Prerequisite: CSC 170 or CSC 180 and CSC 210 or CSC 211

This course focuses on the creation and integration of computer media including still graphics, animation, video, and sound.  A major part of the course will focus on programming techniques and languages for the interactive control of multimedia presentations.

CSC

263

SEMINAR

One to three credit hours

Prerequisite: Dependent upon topic.

Selected topics in computer science

CSC

270

DATA COMMUNICATION CONCEPTS

Three credit hours

Prerequisite: CSC 170 or CSC 180

This course provides an introduction to data communications. Topics include fundamental communications concepts (data and voice); communications hardware, protocols, and software; and network configurations, design, security, control, and management.  Topic coverage includes study of LANs, WANs, OSI models, Internet, and intranets.

CSC

275

INFO SYSTEMS SECURITY, PRIVACY, & ETHICS

Three credit hours

Prerequisite: CSC 170 or CSC 180 and one 200-level CSC course

This course explores the social issues, including historical and social context, professional responsibilities, risks and liabilities, and intellectual property of an information system organization. Topics include security policy development life cycle, policy development and implementation process, network security, privacy laws, authentication, and access and information flow controls.

CSC

280

INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

Three credit hours

Prerequisite: CSC 170 or CSC 180 and CSC 210

This course introduces the fundamental concepts necessary for the use, design, implementation, and management of a database system. The course is project-based, covering database creation, maintenance, and querying using SQL. A relational database management system will be used throughout. The project focuses on retrieving and answering queries from and to a Web interface.

CSC

285

NETWORK DIAGNOSTICS AND TROUBLESHOOTING

Three credit hours

Prerequisite: CSC 210 and CSC 275

This course covers concepts and tools associated with diagnosing and troubleshooting computer networks.  Topics include interpreting documentation, performing online and offline diagnostics, debugging code, interpreting diagnostic results and log files, performing troubleshooting techniques.  Course will focus on finding and localizing “problems” rather than correcting them. 

CSC

290

COMPUTER NETWORKS

Three credit hours

Prerequisite: CSC 270 and CSC 285 and MTH 161

This course covers the design, installation and administration of computer networks at the operating system level from an applied perspective. The course includes a highly integrated hands-on component in which a fully functional single client and peer-to-peer client network is realized within a hybrid physical and virtualized platform is used.

CSC

310

SOFTWARE ENGINEERING I

Three credit hours

Prerequisite: CSC 235 and CSC 241

This is the first of a two-course sequence that presents how engineering principles are applied in the development of large, complex software systems. The focus is on issues of the analysis, design, and development phases of the software development life cycle.  Topics presented include software development methodologies, modeling, and version control, and development for different platforms (PC, web, mobile).     

CSC

311

SOFTWARE ENGINEERING II

Three credit hours

Prerequisite: CSC 242 and CSC 310

Building upon the topics presented in CSC 310, this course will include topics such as configuration management, design patterns, software validation and verification, deployment, and software evolution.     

CSC

315

NETWORK ADMINISTRATION

Three credit hours

Prerequisite: CSC 280 and CSC 290

This course covers administering network operating systems. Topics include Windows system and UNIX (Linux) system administration, application (Database, Web) maintenance and interoperability between Windows and Linux systems. A highly integrated hands-on component is used where Windows and Linux systems are realized in a hybrid physical and virtualized platform is used. 

CSC

320

COMPUTER ARCHITECTURE & ORGANIZATION

Three credit hours

Prerequisite: CSC 242

This course covers computing history, computer technology and terminology, basic logic
design, computer architecture, CPU architecture, memory systems and assembly language.

CSC

325

INTERMEDIATE PROGRAMMING FOR APPLICATIONS

Three credit hours

Prerequisite: CSC 280

This course introduces the concept of structured programming in a business-programming environment. Concepts covered include object-oriented program structures, developing text and GUI interfaces, file processing, database information processing, data conversion and information processing.

CSC

330

WEB PROGRAMMING

Three credit hours

Prerequisite: CSC 242 or CSC 325

This course focuses on technologies used in the development of Web sites. Topics covered include XML, CSS, JavaScript, ASP.NET/C#, and an introduction to web security.

CSC

400

OPERATING SYSTEMS

Three credit hours

Prerequisite: CSC 242

This course covers operating systems concepts and design, including processes and threads, CPU scheduling, mutual exclusion and synchronization, deadlock, memory management, file systems, networking, distributed systems and systems programming.

CSC

410

ADVANCED COMPUTER NETWORKS                         

Three credit hours

Prerequisite: CSC 290 and MTH 135

This course covers advanced concepts and tools associated with network operation and performance. Topics include network topology, network hardware (switches and routers), communication protocols and packet formats, troubleshooting techniques, multi-platform integration, and network security and configuration.

CSC

415

PENETRATION TESTING AND DEFENSE

Three credit hours

Prerequisite: CSC 210 and CSC 311

This course covers concepts and tools associated with evaluating the security of a computer system or network and the defense of attacks from malicious outsiders. Topics include the anatomy of an attack, survey of tools used in attacks, strategies used in attacks, and techniques and guidelines on how to prevent or mitigate attacks.  Documenting the attacks, from the attacker and the victim perspective, is also covered. 

CSC

420

FORMAL LANGUAGES AND AUTOMATA

Three credit hours

Prerequisite: CSC 242

This course is an introduction to the theoretical foundations underlying computing. Topics include language specification and grammars, finite and pushdown automata, Turing machines, decidability, and computability. Application of these concepts into areas such as compiler design will also be discussed.

CSC

430

ALGORITHM DESIGN AND ANALYSIS

Three credit hours

Prerequisite: CSC 242

Building on concepts of basic algorithm design and complexity analysis introduced in earlier courses, this course explores advanced algorithm design and analysis. Topics may include advanced data structures, inductive algorithms, graph algorithms, geometric, algebraic, and numeric algorithms, reductions, NP-completeness, and parallel algorithms. Emphasis is placed on formal efficiency analysis of algorithms utilizing concepts from discrete mathematics.

CSC

460

SYSTEMS ANALYSIS AND DESIGN

Four credit hours

Prerequisite: CSC 235 & CSC 280

This course provides a methodical approach to developing computer systems including feasibility study, systems planning, analysis, design, testing, implementation, and software maintenance. Structured Systems Analysis and Design will be emphasized, but data-structure based and object-oriented Systems Analysis and Design methods will also be covered, with an emphasis on the relationship between the latter two methodologies.

CSC

465

INFORMATION SYSTEMS PROJECT MANAGEMENT

Three credit hours

Prerequisite: CSC 460 or CSC 280 and one CSC-300 or -400 level course

This course provides a methodical approach to project management in the context of an information system organization. The theory and practice of project management are studied and applied. Topics include system life cycle planning, organizational structures, team building, interview techniques, management functions, project management software, project evaluation and control, and technical writing.

CSC

470

SENIOR INTERNSHIP

Three credit hours

Prerequisite: Permission of instructor

This course is designed to be a senior capstone experience in which the student is expected to demonstrate mastery of the skills and concepts acquired throughout the major curriculum.  The internship is required to match the individual’s major program and have an emphasis on the application of classroom knowledge to actual practice.  All internships must be approved by the faculty of the department. Due to the capstone nature of the course, senior status within the major is a required pre-requisite.

CSC

471

SENIOR PROJECT

Three credit hours

Prerequisite: Permission of instructor

This course provides a project-oriented experience and is intended primarily for those students who are seeking a research experience or who for logistical reasons are unable to participate in an internship experience.  Students seeking to pursue this option must submit a detailed project proposal to the computer science faculty for approval. Project proposals must demonstrate that the project is of significant breadth and depth to be considered a capstone experience, integrating multiple aspects of the student’s background coursework and extending the student’s knowledge in at least one aspect of their area of concentration.

CSC

480&481

SENIOR SOFTWARE ENGINEERING PROJECT I&II

Three credit hours

Prerequisite: CSC 480 requires CSC 311 and CSC 481 requires CSC 480

This two-semester sequence is designed to be a capstone experience in the software engineering major that provides the opportunity to analyze, design, develop, and test a large software system. The projects undertaken will be large-scale and complex, requiring students to apply the engineering principles learned in previous courses. Project will be completed by teams of students.  At the end of the experience a technical paper and presentation will be required.   

Share |