Home | A-Z Index | Search | Directory | Contact 


CS MENU

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

 

Courses in Computer Science

CS 101 From Gutenberg to Gates
           
Course Web Page
CS 312 Compiler Design
            Course Web Page

CS 102 Basic Programming
            Course Web Page

CS 314 Operating Systems
            Course Web Page

CS 103 Computer Science I
            Course Web Page

CS 321 Microcomputer Electronics

CS 104 Computer Science II
            Course Web Page

CS 323 Programming Languages
             Course Web Page
CS 195 How Computers Work
            Course Web Page
CS 325 Database Management Systems
             Course Web Page
CS 201 Discrete Math for CS I
          Course Web Page
CS 382 Artificial Intelligence

CS 202 Discrete Math for CS II
            Course Web Page

CS 384 Theory of Computation
             Course Web Page

LC 207 Mathematical Experiments in
           Computer Science

           Course Web Page

CS 390 Data Networking
             Course Web Page

CS 211 Data Structures
            Course Web Page

CS 393 Numerical Analysis

CS 221 Computer Logic and Organization
            Course Web Page

CS 399 Topics in Computer Science:Robotics
            Course Web Page

CS 281 Advanced Programming
            Course Web Page

CS 400 Computer Science Capstone
             Course Web Page

CS 304 Computer Architecture
             Course Web Page

CS 475 Internship In Computer Science

CS 311 Algorithms and Complexity         
              Course Web Page

CS 490 Directed Study
 

CS 101 FROM GUTENBERG TO GATES

This course explores the history of technology and its impact on our society. It provides students with the background to understand these changes and the tools they need to manage them, as well as a strong foundation in research, critical thinking, and oral and written communication skills. No prerequisites.
THIS COURSE IS PART OF A LEARNING COMMUNITY WITH SO 212 A GREAT SOCIETY?
         
Back to top

CS 102 BASIC PROGRAMMING 

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

CS 103 COMPUTER SCIENCE I

Programming in C++, 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 MATHEMATICS 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 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 281 ADVANCED PROGRAMMING

Advanced programming and data structure techniques in a language such as Ada, LISP,  Visual C++ or Java.
          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 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

Various advanced topics in Computer Science
          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