Computer Science Course Descriptions

CSC 050 Independent Study (1-3 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.

CSC 070 Cooperative Education/Field Experience (credit hours to be arranged)

Academic credit is offered for appropriate off-campus, computer-related experience.

CSC 259, 359, 459 Student-Faculty Collaboration (credit to be arranged)

See FSC Program

CSC 121 Technical Literacy for Today's World (3 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 (2 credit hours)
Prerequisite: Dependent upon topic

The focus is on the applicaton 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 (3 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.

CS 141 Advanced Applications for Information Analysis (3 credit hours)
Prerequisite: Basic computer literacy, including the use of word processors and Excel, is assumed; readiness for MTH 136 or higher.

This course focuses on spreadsheet and database technologies with an emphasis of the use of those technologies into specific application domains including business and the sciences. 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 (3 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 of Computer Science (3 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, parallel and distributed algorithms, data communications, security, and the use of global networks.

CSC 210 Computer Science I: Programs and Applicatons (3 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 (3 credit hours)
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 235 System Requirements and Testing (3 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 (3 credit hours)
Prerequisites: 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 (3 credit hours)
Prerequisites: 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 245: Data Structures (3 credit hours)
Prerequisites: CSC 170 or CSC 180 and CSC 210
Corequisite: MTH 161.

This course focuses on the development of advanced data structures that are commonly used in computer science including stacks, queues, trees, and graphs. Emphasis is placed on the efficiency of the various data structures and the applications for which they are used. The more advanced language features of C++ including inheritance, polymorphism, templates, and exception handling are also studied.

CSC 250 Multimedia Programming (3 credit hours)
Prerequisites: 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 (credit hours vary)

Selected topics in computer science.

CSC 270 Data Communication Concepts (3 credit hours)
Prerequisite: CSC 170 or CSC 180.

This course is an initiation 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 Information Systems Security, Privacy, and Ethics (3 credit hours)
Prerequisite: CSC 170 or CSC 180

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 Applied Database (3 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 (3 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 (3 credit hours)
Prerequisite: CSC 270, 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 291: Computer Science Research Methods (2 credit hours)
Prerequisites: CSC 245 and MTH 161.

Performing undergraduate research in computer science requires that students have foundational knowledge and skills related to research methodology. In this course, students will learn the basics of performing research including how to identify a research problem, performing background research, reading published research, and developing a research plan.

CSC 310 Software Engineering I (3 credit hours)
Prerequisite: CSC 235 and CSC 241 or CSC 245 .

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 (3 credit hours)
Prerequisite: 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 (3 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.

CSC 320 Computer Architecture and Hardware (3 credit hours)
Prerequisite: CSC 242 or CSC 245 .

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 Information Systems (3 credit hours)
Prerequisites: 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 (3 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 380: Database: Theory, Application & Administration (3 credit hours)
Prerequisite: CSC 242 or CSC 245 .

This course stresses advanced topics in database management systems, particularly: advanced processing and SQL techniques, recovery and security issues and strategies, advanced database models, performance and tuning issues, distributed databases including data warehousing and related concepts.

CSC 391: Senior Research Proposal (1 credit hours)
Prerequisite: Permission of the instructor.

This class will focus on the identification of a problem and the preparation of a research proposal for the required Senior Research Project. Students will work individually or in teams under the guidance of the faculty member to formally define the hypothesis for their research project and perform related background research. A formal proposal for a research project will be developed and presented by semester.s end.

CSC 400 Operating Systems (3 credit hours)
Prerequisites: CSC 242 or CSC 245 .

This course covers operating systems, 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 (3 credit hours)
Prerequisites: 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 (3 credit hours)
Prerequisites: CSC 210 and CSC 315 .

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 (3 credit hours)
Prerequisite: CSC 242 or CSC 245 .

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 (3 credit hours)
Prerequisite: CSC 242 or CSC 245 .

Building on concepts of basic algorithm design and complexity analysis introduced in Computer Science I&II, 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 440 Artificial Intelligence (3 credit hours)
Prerequisites: CSC 242 or CSC 245 .

This course will serve as an introduction to artificial intelligence concepts and techniques. Specific topics include a historical and philosophical perspective on AI, the Python programming language, the agent paradigm, search techniques, game playing, knowledge representation and reasoning, logic systems, uncertain reasoning and Bayes nets, planning, and machine learning. Time permitting, special topics in the instructor.s research interests will be covered, and may include: advanced pattern recognition, multi-agent systems, or natural language processing.

CSC 460 Systems Analysis and Design (3 credit hours)
Prerequisite: CSC 235 and 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 (3 credit hours)
Prerequisite: CSC 460 or CSC 480 and one CSC 3XX or CSC 4XX 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 (3 credit hours)
Prerequisite: Permission of the 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 (3 credit hours)
Prerequisite: Permission of the 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. Any student seeking to pursue this option must submit a detailed project proposal to the computer science faculty for approval. The project proposal 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 his or her area of concentration.

CSC 480 Senior Software Engineering Project I (3 credit hours)
Prerequisite: CSC 311

This is the first of a two-semester sequence (CSC 480/481). See description of CSC 481 below.

CSC 481 Senior Software Engineering Project II (3 credit hours)
Prerequisite: CSC 480

This two-semester sequence (CSC 480/481) 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.

CSC 490: Senior Research Project I (2 credit hours)
Prerequisite: Permission of the instructor

During this course, students work on the research project defined in the pre-requisite Senior Research Proposal course. Students will conduct their research, making presentations along the way to obtain valuable feedback from the instructor and fellow students. Progress on the project will be sufficient to enable completion of the research, writing of a thesis and presentation of the work in the subsequent course.

CSC 491 Senior Research Project II (1 credit hour)
Prerequisite: Permission of the instructor

This course focuses on completion of the research project defined in the pre-requisite Senior Research Proposal course and developed in the pre-requisite course. Students will continue to conduct their research, making presentations along the way to obtain valuable feedback from the instructor and fellow students. Successful completion of the course will require completion of the research, writing of a thesis on the work, and presentation of the completed project.

B-W MaCs Curriculum
Last modified: Dec 01, 2015
MathWeb