Stonehill


CS MENU

Stonehill College
320 Washington Street
Easton, MA 02357
508-565-1000

 

Courses in Computer Science 

CS 102 Windows Programming for Non-Programmers
            Course Web Page

CS 312 Compiler Design
            Course Web Page

CS 103 Computer Science I
            Course Web Page

CS 314 Operating Systems
            Course Web Page

CS 104 Computer Science II
            Course Web Page

CS 321 Microcomputer Electronics
CS 195 How Computers Work
            Course Web Page
CS 323 Programming Languages
             Course Web Page
CS 201 Discrete Math for CS I
          Course Web Page
CS 325 Database Management Systems
             Course Web Page

CS 202 Discrete Math for CS II
            Course Web Page

CS 382 Artificial Intelligence

LC 207 Mathematical Experiments in
           Computer Science

           Course Web Page

CS 384 Theory of Computation
             Course Web Page

CS 211 Data Structures
            Course Web Page

CS 390 Data Networking
             Course Web Page

CS 221 Computer Logic and Organization
            Course Web Page

CS 393 Numerical Analysis

CS 324 Advanced Programming
            Course Web Page

CS 399 Topics in Computer Science
            Course Web Page

CS 304 Computer Architecture
             Course Web Page

CS 400 Computer Science Capstone

CS 311 Algorithms and Complexity         
              Course Web Page

CS 475 Internship In Computer Science
CS 490 Directed Study
 
CS 102 WINDOWS PROGRAMMING FOR NON-PROGRAMMERS

An introduction to programming for non-majors using Visual Basic .NET
          Back to top

CS 103 COMPUTER SCIENCE I

Programming in Java, object oriented programming and design. Introduction to algorithms : sorting and searching. Elementary data structures.
          Back to top

CS 104 COMPUTER SCIENCE II

Continuation of CS 103: introduction to linked lists, stacks, queues, trees.
          Back to top

CS 195 HOW COMPUTERS WORK

An 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.
          Back to top

CS 201 - 202 DISCRETE MMATHEMATICS FOR COMPUTER SCIEINCE I AND II

Discrete mathematical methods for applications in computer science. Mathematical
induction, graphs, trees, sets, equivalence relations, functions, and partially ordered
sets. Asymptotic complexity, Big-O, and Big Omega, recursion and recurrence equations,
finite and infinite sums. Predicate logic and first order logic. Basic counting methods,
simple combinatorics. Probability and Markov Chains. Linear algebra, applications of
linear algebra in computer science.

         Back to top

LC 207 Mathematical Experiments in Computer Science

This Learning Community course focuses on the delicate balance between theory and practice in computer science, revealing the dual and sometimes contradictory nature of computer science as both an engineering and a mathematical discipline.
This course is an integrative seminar for Discrete Mathematic for Computer Science and Data Structures.  Student who enroll in this course must also enroll in both Discrete Mathematics and Data Structures.   

Back to top

CS 211 DATA STRUCTURES

Stacks, queues, linked lists, trees, graphs, searching, and sorting. Design and analysis of algorithms.
          Back to top

CS 212 INTRODUCTION TO FILE PROCESSING

Basic concepts and terminology, I/O devices, sequential files, external sorting, direct files, indirect address translation, hashing, inverted file systems, tree file structures.
          Back to top

CS 221 COMPUTER LOGIC AND ORGANIZATION

Binary number systems, information representation, Boolean algebra, gates and digital circuit design, timing and control , memory, designing a simple computer, software simulation
          Back to top

CS 324 ADVANCED PROGRAMMING

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: CSC 211
          Back to top

CS 304 COMPUTER ARCHITECTURE

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 are examined.  Trade-offs between RISC, CISC and advanced architectures is discussed. Assumes basic knowledge of digital logic. 
          Back to top

CS 311 ALGORITHMS AND COMPLEXITY

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.
          Back to top

CS 312 COMPILER DESIGN

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.
          Back to top

CS 314 OPERATING SYSTEMS

Focuses 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.
          Back to top

CS 321 MICROCOMPUTER ELECTRONICS

Resistors, 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.
          Back to top

CS 323 PROGRAMMING LANGUAGES

Formal language concepts including syntax and basic characteristics of grammars. Control structures, data flow, run-time considerations. Interpretative languages.
          Back to top

CS 325 DATABASE MANAGEMENT SYSTEMS

This 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. 
          Back to top

CS 382 ARTIFICIAL INTELLIGENCE

Knowledge representation. Natural language processing. Deduction and inference. Expert Systems. Computer vision. Robotics. Programming in LISP, PROLOG, or another AI language.
          Back to top

CS 384 THEORY OF COMPUTATION

Introduction 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.
          Back to top

CS 390 DATA NETWORKING

Data Networking: Data communications system components, network architectures, layered protocols, traffic analysis and capacity planning
          Back to top

CS 393 NUMERICAL ANALYSIS

Both 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
          Back to top

CS 399 TOPICS IN COMPUTER SCIENCE

Spring 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.
          Back to top

CS 400 COMPUTER SCIENCE CAPSTONE

Large-scale software project involving teamwork, written reports, and oral presentations.
          Back to top

CS 475 INTERNSHIP IN COMPUTER SCIENCE

Opportunity for the qualified student to work in the computer industry under professional supervision.
          Back to top

CS 490 DIRECTED STUDY IN COMPUTER SCIENCE

Opportunity for upper level students to advanced work in a specialized area of computer science.
          Back to top