Stonehill College 
CSC 101 FROM GUTENBERG TO GATES CSC 102 INTRODUCTION TO PROGRAMMINGAn introduction to
computers, programming and problem solving using a modern
programming language such as Python, Java, or Visual Basic. CSC 103 COMPUTER SCIENCE IAn introduction to programming and
problem solving using
Java. Topics include: Input and CSC 104 COMPUTER SCIENCE IIInheritance; Polymorphism;
Exceptions; Stream IO;
Elementary Data Structures; CSC 195 HOW COMPUTERS WORKAn exploration
of how computers work: what goes on inside the
computer (hardware), how to program computers
(software), the Internet and communication revolution,
artificial intelligence and the limits of computation. CSC
201  202 DISCRETE MATHEMATICS FOR COMPUTER
SCIENCE I AND II LC
207 MATHEMATICAL EXPERIMENTS IN COMPUTER
SCIENCE CSC 211 DATA STRUCTURESStacks,
queues, linked lists, trees, graphs, searching, and
sorting. Design and analysis of algorithms. CSC 221 COMPUTER LOGIC AND ORGANIZATIONBinary number
systems, information representation, Boolean algebra,
gates and digital circuit design, timing and control ,
memory, designing a simple computer, software
simulation CSC 304 COMPUTER ARCHITECTUREThe basic 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 are
examined. Tradeoffs between RISC, CISC and
advanced architectures is discussed. Assumes basic
knowledge of digital logic. CSC 311 ALGORITHMS AND COMPLEXITYBasic
algorithm techniques: recursion, dynamic programming,
greedy method branch and bound. Analysis of
algorithms: recurrence equations, NPcompleteness,
asymptotic complexity. Applications include graph and
combinatorial algorithms. CSC 312 COMPILER DESIGNFinite
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. CSC 314 OPERATING SYSTEMSFocuses on the
fundamentals of operating systems including:
processes, deadlocks, memory management, I/O, and file
systems. After a thorough grounding in these basics,
students will explore distributed/multiprocessor
computing. Security and computer networks are also
covered. Lectures in class will be reinforced with
programming assignments using the Linux operating
system. CSC 323 PROGRAMMING LANGUAGESFormal
language concepts including syntax and basic
characteristics of grammars. Control structures, data
flow, runtime considerations. Interpretative
languages. CSC 324 ADVANCED PROGRAMMINGProgramming for the world wide web.
Design patterns.
Presentation Layer: XHTML, CSS, Javascript. Processing Layer: XSLT,
Servlet Frameworks.
Data Layer: XML, Document Object Model. CSC 325 DATABASE MANAGEMENT SYSTEMSThis course
focuses on the basic principles of Database Management
Systems. Students learn why databases are important to
the information age. Data Modeling is taught using
Entity Relationship diagrams. These data models are
then translated into Relational schemas as students
learn about Relational Algebra, Calculus, and
Relational Database Systems. Practical experience is
gained through projects using the commercial RDBMS
ORACLE. Students learn SQL (both DDL and DML),
database administration, and how to create complete
database applications. The course will culminate in a
major programming project that demonstrates
proficiency in modern database technology. CSC 382 ARTIFICIAL INTELLIGENCEKnowledge
representation. Natural language processing. Deduction
and inference. Expert Systems. Computer vision.
Robotics. Programming in LISP, PROLOG, or another AI
language. CSC 384 THEORY OF COMPUTATIONIntroduction
to the general theory of computation. Formal grammars:
regular, contextfree, and contextsensitive
languages. Formal automata: finitestate and pushdown
models. Decidability. Parsing. Turing theory. The
Chomsky hierarchy. Also listed as MA 384. CSC 390 DATA NETWORKINGData
Networking: Data communications system components,
network architectures, layered protocols, traffic
analysis and capacity planning CSC 393 NUMERICAL ANALYSISBoth
theoretical and practical problems in the
computational aspects of mathematics: approximation of
functions, numerical differentiation, solutions to
algebraic and differential equations; topiCSC in
linear algebra. Also listed as MA 393 CSC 399 TOPICS IN COMPUTER SCIENCEVarious
advanced topics in Computer Science CSC 400 COMPUTER SCIENCE CAPSTONE Largescale
software project involving teamwork, written reports,
and oral presentations. CSC 475 INTERNSHIP IN COMPUTER SCIENCEOpportunity
for the qualified student to work in the computer
industry under professional supervision. CSC 490 DIRECTED STUDY IN COMPUTER SCIENCEOpportunity
for upper level students to advanced work in a
specialized area of computer science.
