STONEHILL COLLEGE

COMPUTER SCIENCE


 
  
CS Homepage

   CS  Major

   CS Minor

   Computer Engineering

   CS Courses

   Fall Courses

   Spring Courses

   Faculty

   FAQ

   ACM  Student Chapter
 

   Internships

   Grad School & Career Info

   NSF Java Workshop

  Stonehill College
   320 Washington Street
  
North Easton, MA 02357
  

 

Courses in computer science  

Charles Babbage
1791 - 1871

 

Babbage's Analytical Engine
DSC 105 Introduction to Data Science
              
CSC 312 Compiler Design
               Course Web Page
CSC 102 Introduction to Programming
            
Course Web Page - Section A
            Course Web Page - Section B

CSC 314 Operating Systems

               Course Web Page

CSC 103 Computer Science I
              Course Web Page - Sections A,B
             
Course Web Page - Section C

            
 
CSC 321 Data Visualization 

CSC 104 Computer Science II
              Course Web Page

CSC 322 Machine Learning
        Course Web Page

CSC 195 How Computers Work
              Course Web Page

CSC 323 Programming 
               Languages

               Course Web Page


CSC 201 Discrete Math for Computer Science I
              Course Web Page

CSC 324 Web Programming
               Course Web Page
CSC 202 Discrete Math for Computer Science II
              Course Web Page
CSC 325 Database Management
               Systems

               Course Web Page
CSC 211 Data Structures
             Course Web Page
CSC 326 Mathematical Experiments in
           Computer Science

           Course Web Page
               

CSC 221 Computer Logic and Organization
              Course Web Page

CSC 382 Artificial Intelligence

CSC 304 Computer Architecture
               Course Web Page

CSC 384 Theory of Computation
               Course Web Page


CSC 305 Mobile Computing

CSC 390 Data Networking
               Course Web Page


CSC 310 Cybersecurity

CSC 393 Numerical Analysis


CSC 311 Algorithms and Complexity
         
              Course Web Page

CSC 399 Topics in Computer Science


CSC 400 Computer Science Capstone
               Course Web Page

CSC 475 Internship In Computer Science
 

DSC 105 INTRODUCTION TO DATA SCIENCE

An overview data science and the job of a data scientist.  Topics include data collection, data visualization, machine learning, and elementary statistical methods employed by the data scientist.

CSC 102 INTRODUCTION TO PROGRAMMING 

An introduction to computers, programming and problem solving using a modern programming language such as Python, Java, or Visual Basic.

Fulfills the Natural Scientific Inquiry requirement.
          Back to top

CSC 103 COMPUTER SCIENCE I

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

          Back to top

CSC 104 COMPUTER SCIENCE II

Inheritance; Polymorphism; Exceptions; Stream IO; Elementary Data Structures; 
Graphics; Event Driven Programming. Prerequisite: CSC 103.
          Back to top

CSC 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

CSC 201 - 202 DISCRETE MATHEMATICS FOR COMPUTER SCIENCE 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

CSC 211 DATA STRUCTURES

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

CSC 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

CSC 304 COMPUTER ARCHITECTURE

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

CSC 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

CSC 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

CSC 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

CSC 321 DATA VISUALIZATION
An introduction to data visualization theory and techniques used for creating visual representations of large data sets
CSC 322 MACHINE LEARNING

The algorithms that enable computers to learn from experience. Supervised and unsupervised learning. Learning from Networks. Machine learning from big data.
          Back to top

CSC 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

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

CSC 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

CSC 326 MATHEMATICAL EXPERIMENTS IN COMPUTER SCIENCE

This course has little lecture and no exams.  It can be taken as early as fall semester sophomore year, simultaneously with Discrete Math I (201) and Data Structures(211). The class is a one-day-a-week, lab-based course that demonstrates how mathematics is used to motivate computer science applications, and how computer science can be used as a tool to explore mathematics. Topics include chaos theory and fractals, cryptography, text compression, magic card tricks and combinatorics. Coerequsites: CSC 201, CSC 211

Back to top

CSC 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

CSC 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

CSC 390 DATA NETWORKING

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

CSC 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; topiCSC in linear algebra. Also listed as MA 393
          Back to top

CSC 399 TOPICS IN COMPUTER SCIENCE

Various advanced topics in Computer Science
          Back to top

CSC 400 COMPUTER SCIENCE CAPSTONE

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

CSC 475 INTERNSHIP IN COMPUTER SCIENCE

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

CSC 490 DIRECTED STUDY IN COMPUTER SCIENCE

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