|
||||||
Stonehill College |
Courses in Computer ScienceCS 102 WINDOWS PROGRAMMING FOR NON-PROGRAMMERSAn introduction to programming for non-majors
using Visual Basic .NET CS 103 COMPUTER SCIENCE IProgramming in Java, object
oriented programming and design. Introduction to algorithms : sorting
and searching. Elementary data structures. CS 104 COMPUTER SCIENCE IIContinuation of CS 103:
introduction to linked lists, stacks, queues, trees. CS 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.
CS 201 - 202
DISCRETE MMATHEMATICS FOR COMPUTER SCIEINCE I AND II
LC 207 Mathematical
Experiments in Computer Science CS 211 DATA STRUCTURESStacks, queues, linked
lists, trees, graphs, searching, and sorting. Design and analysis of
algorithms. CS 212 INTRODUCTION TO FILE PROCESSINGBasic concepts and
terminology, I/O devices, sequential files, external sorting, direct
files, indirect address translation, hashing, inverted file systems,
tree file structures. CS 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 CS 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.
Prerequisite: CSC 211 CS 304 COMPUTER ARCHITECTUREThe 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 are examined. Trade-offs between
RISC, CISC and advanced architectures is discussed. Assumes basic
knowledge of digital logic. CS 311 ALGORITHMS AND COMPLEXITYBasic 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. CS 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. CS 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. CS 321 MICROCOMPUTER ELECTRONICSResistors, capacitors,
inductors in circuits, diodes, transistors and op amps. Digital
electronics and the use of common integrated circuits. Lab-based course,
includes use of multimeter, oscilloscope, and function generator. CS 323 PROGRAMMING LANGUAGESFormal language concepts
including syntax and basic characteristics of grammars. Control
structures, data flow, run-time considerations. Interpretative
languages. CS 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. CS 382 ARTIFICIAL INTELLIGENCEKnowledge representation.
Natural language processing. Deduction and inference. Expert Systems.
Computer vision. Robotics. Programming in LISP, PROLOG, or another AI
language. CS 384 THEORY OF COMPUTATIONIntroduction to the general
theory of computation. Formal grammars: regular, context-free, and
context-sensitive languages. Formal automata: finite-state and pushdown
models. Decidability. Parsing. Turing theory. The Chomsky hierarchy.
Also listed as MA 384. CS 390 DATA NETWORKINGData Networking: Data
communications system components, network architectures, layered
protocols, traffic analysis and capacity planning CS 393 NUMERICAL ANALYSISBoth theoretical and
practical problems in the computational aspects of mathematics:
approximation of functions, numerical differentiation, solutions to
algebraic and differential equations; topics in linear algebra. Also
listed as MA 393 CS 399 TOPICS IN COMPUTER SCIENCESpring 2003: Software
Performance Engineering: Introduction to the discipline of software
performance engineering. Software performance engineering is not
directly concerned with high performance applications for
supercomputers, rather it is concerned with the development of ordinary
software that meets or exceeds performance expectations. Students will
learn about: performance requirements, performance modeling, performance
analysis, workloads, and resource analysis. Lectures will be reinforced
with projects where students will gain first hand experience identifying
and correcting performance problems. Students work in teams on a final
project developing a web server application that scales to thousands of
users. CS 400 COMPUTER SCIENCE CAPSTONE Large-scale software project
involving teamwork, written reports, and oral presentations. CS 475 INTERNSHIP IN COMPUTER SCIENCEOpportunity for the
qualified student to work in the computer industry under professional
supervision. CS 490 DIRECTED STUDY IN COMPUTER SCIENCEOpportunity for upper level
students to advanced work in a specialized area of computer science.
|