Computer Science Minor Requirements

Department Chairperson:Ralph J. Bravaco Office: Stanger hall 304 Phone: 508-565-1077rbavaco@stonehill.edu

A minor in computer science is an excellent complement to a degree in liberal arts or business administration. Students in the sciences may also find the minor program attractive.

The minor in Computer Science requires the completion of seven courses.

Complete Four Required Courses

Code Course Credits

CSC 103

Computer Science I

Offered: Fall Semester

An introduction to programming and problem solving using Java. Topics include: Input and Output; Selection; Repetition; Methods; Recursion; Arrays; Classes and Objects.

Course may be applied to the Data Science program.

4

CSC 104

Computer Science II

Offered: Spring Semester

Inheritance; Polymorphism; Exceptions; Stream IO; Elementary Data Structures; Graphics; Event Driven Programming.

Prerequisite(s): CSC 103.
Course may be applied to the Data Science program.

4

CSC 211

Data Structures

Offered: Fall Semester

The fundamental methods used to organize data in computer algorithms: stacks, queues, linked lists, trees, graphs, searching, and sorting. Design and analysis of algorithms.

Prerequisite(s): CSC 104.

3

CSC 221

Computer Logic and Organization

Offered: Alternate Years: Fall 2017, 2019

The basics of digital logic design. Binary representation of information, Boolean algebra, truth tables, combinatorial logic, Karnaugh maps, memory elements, flip flops, latches, registers, RAM and variations. ALU's, control logic, and finite state machines. The design of a simple computer. Gates and their implementation with transistors and integrated circuits.

Prerequisite(s): CSC 103.
Course may be applied to the Management of Information Systems program.

3

Complete Three of the Following 300-Level Courses

Code Course Credits

CSC 304

Computer Architecture

Offered: Alternate Years: Spring 2018, 2020

The basics of computer organization, architecture and assembly language. Instructions sets, address modes, and the run/time stack are explored by programming on a RISC machine. CPU and ALU design, performance analysis, pipelining, cache, virtual memory is examined. Trade-offs between RISC, CISC and advanced architectures is discussed. Assumes basic knowledge of digital logic.

Prerequisite(s): CSC 221.

3

CSC 311

Algorithms and Complexity

Offered: Alternate Years: Spring 2017, 2019

Basic algorithm techniques: recursion, dynamic programming, greedy method branch and bound. Analysis of algorithms: recurrence equations, NP-completeness, asymptotic complexity. Applications include graph and combinatorial algorithms.

Prerequisite(s): CSC 201 and (CSC 211 with a grade of C- or better).

3

CSC 312

Compiler Design

Offered: Alternate Years: Fall 2017, 2019

Finite automata and lexical analysis, context free grammars, top-down and bottom-up parsing, syntax directed translation, symbol table techniques, runtime storage administration, code generation, optimization.

Prerequisite(s): CSC 211 (with a grade of C- or better).

3

CSC 314

Operating Systems

Offered: Alternate Years: Fall 2016, 2018

Process management, concurrency, virtual storage organization, processor management, auxiliary storage management, operating system performance.

Prerequisite(s): CSC 211 (with a grade of C- or better).

3

CSC 323

Programming Languages

Offered: Alternate Years: Fall 2017, 2019

Formal language concepts including syntax and basic characteristics of grammars. Control structures, data flow, run-time considerations. Scripting, Functional, and Logic languages.

Prerequisite(s): CSC 211 (with a grade of C- or better).

3

CSC 324

Web Programming

Offered: Spring Semester

Programming for the world wide web. Design patterns. Presentation Layer: XHTML, CSS, Javascript. Processing Layer: XSLT, Servlet Frameworks. Data Layer: XML, Document Object Model.

Prerequisite(s): CSC 211 (with a grade of C- or better).

3

CSC 325

Database Management Systems

Offered: Alternate Years: Spring 2017, 2019

Data Modeling using the Entity-Relationship approach. The Relational Model and Relational Algebra. SQL. Functional dependencies and normalization. Database design Process. Record storage and primary file organization. Index structures for files. Concurrency control techniques.

Prerequisite(s): CSC 211 (with a grade of C- or better).
Course may be applied to the Data Science and Management of Information Systems programs.

3

CSC 382

Artificial Intelligence

Offered: Alternate Years: Spring 2017, 2019

Introduction to artificial intelligence. Knowledge representation. Natural language processing. Deduction and inference. Expert systems. Computer vision. Robotics. Programming in LISP, PROLOG, or another AI language.

Prerequisite(s): CSC 211 (with a grade of C- or better).

3

CSC 384

Theory of Computation

Offered: Alternate Years: Fall 2016, 2018

Introduction to the general theory of computation. Formal grammars: regular, context-free, and context-sensitive languages. Formal automata: finite-state and pushdown models. Decidability. Turing Machines. The Chomsky hierarchy. NP-Completeness and Complexity Theory.

Prerequisite(s): CSC 201.

3

CSC 390

Computer Networks

Offered: Alternate Years: Spring 2018, 2020

Computer Networks: Data communication system components, network architecture, layered protocols, traffic analysis, and capacity planning.

Prerequisite(s): CSC 211 (with a grade of C- or better).

3

CSC 393

Numerical Analysis

Offered: Alternate Years: Spring 2018, 2020

For description and semester schedule, see MTH 393.

3

CSC 399

Topics in Computer Science

Offered: Spring Semester

An advanced topic in an area of current interest in computer science.

3