400

CSC 400 Internship

Is a work-experience opportunity with the purpose of expanding education by applying accumulated knowledge in computer science/technology. The availability of internships is limited to upper-level students, normally seniors with a 2.5 quality point average. Students are approved individually by the academic department. A contract can be obtained from the Career Services Office in Starvaggi Hall. Internships count as general electives.

1-6

Prerequisites

Computer science junior or senior standing and permission of the department chair. Internships must be preapproved.

CSC 401 Computer Architecture and Operating Systems

This class gives the student a fundamental background in computer architecture and operating systems. This includes a brief introduction to computer organization using hardware description languages (such as VHDL), assembly language programming, hardware support for computer systems, as well as process and memory virtualization techniques fundamental to modern operating systems

3

Prerequisites

MTH 220 and either CSC 144 or CSC 171

Cross Listed Courses

SFE 401

CSC 402 Hardware and Software Systems

Surveys the relationship between hardware architecture and both systems and applications software. The influence of processor and storage system architecture on software design is also studied.

3

Prerequisites

Junior standing or permission of instructor

CSC 403 Operating Systems

Considers the structure of operating systems involving design, implementation, and maintenance. Various types of mainframe, mini, and micro operating systems will be discussed. Includes systems programming to support operating system operations and driver development. 

3

Prerequisites

CSC 145 and CSC 401

CSC 404 Computer Architecture with Assembly Language

Is an introduction to the architecture of the microprocessors and Assembly Language. Concepts in digital logic, machine level of data, the assembly level machine organization, memory system organization, interfacing and functional organization are covered. Includes an introduction to pipelined memory architectures. Exercises in Assembly Programming and a hardware description language will illustrate some of these concepts. 

3

Prerequisites

CSC 401

CSC 405 Systems Project

Gives students an opportunity to plan and implement a significant project using previously obtained analytic and programming skills. Students will be responsible for the proposal, management, implementation, documentation, and communication of the project. Departmental guidance will be available when necessary.

3

Prerequisites

CSC 204 or CSC 271

CSC 410 Artificial Intelligence Systems

Explores Artificial Intelligence (AI) as a means of developing systems. Explores current frameworks for AI system development. Includes issues in training, reliability and ethical considerations. Applies a framework and tool set to the design, testing and evaluation of an expert system. Areas of focus may include natural language processing, planning, image processing, data analysis.  Includes examination of the impact and ethics of AI and its application. 

3

Prerequisites

CSC 265 and PHL 212

CSC 430 Theory of Computing

Examines the underlying mathematical models and theories that are the basis of the modern computer. Topics include grammars, types of languages, types of automata, computability, and complexity.

3

Prerequisites

MTH 220

CSC 434 Senior Thesis

Requires all computer science students to write a thesis on an approved topic in computer science. Students must consult closely with a departmental faculty member at each stage in the development of their theses. The thesis will be presented to students in the Junior Seminar.

1

Prerequisites

CSC 335 and senior standing

CSC 438 Senior Capstone Project I

Initiation of capstone project in computer science.  This class is intended for junior or senior software engineering majors.  Students will work on a team project to develop a secure, effective, and efficient capability of value to a customer through the application of software engineering theory, processes, tools, technologies and methodologies. The students are expected to complete their project in a way that shows proficiency in the software engineering processes and techniques, and demonstrates ethical professional conduct. 

3

Prerequisites

CSC 335 and SFE 384 or CSC 381 or CSC 382

Cross Listed Courses

SFE 438

CSC 439 Senior Capstone Project II

Culmination of capstone project in software engineering.  This class is intended for junior or senior software engineering majors.  Students will work on a team project to develop a secure, effective, and efficient capability of value to a customer through the application of software engineering theory, processes, tools, technologies and methodologies. The students are expected to complete their project in a way that shows proficiency in the software engineering processes and techniques, and demonstrates ethical professional conduct. 

3

Prerequisites

CSC 438

Cross Listed Courses

SFE 439