Computer Science | Tammy Andrew

Computer Science is no more about computers than astronomy is about telescopes.
Edsger Dijkstra

Computing is not about computers any more. It is about living.
Nicholas Negroponte

The computing world is very good at things that we are not. It is very good at memory.
Eric Schmidt

I think the combination of graduate education in a field like Computer Science and the opportunity to apply this in a work environment like Microsoft is what drove me. The impact these opportunities create can lead to work that has broad, worldwide impact.
Satya Nadella

The world of Computer Science is evolving.  Join the journey by learning about the language of computing, how the needs of computing are not static, how computing affects life, how to work with data, and many other ways in which computing is not “just about computers.” Contact Information:  Tammy Andrew  |   Room 137  

Hands on Computer What is Computer Science?   Computer Science (aka CompSci or CS) is the study of information and computation and their practical application to computing systems.  It is not only programming or just about computers, but a dynamic study of the communication between humans and machines.   Subjects explored in the area of CS include:

  • Operating Systems–the development and structure of the software that communicates between humans and machines
  • Computational Science–the mathematical methods used to solve problems using a computer
  • Programming Languages–how to design software and fundamental properties necessary for communication with computers
  • Architecture–the study and use of mathematical logic to design electronic circuits
  • Information Storage and Retrieval–the study of methods for storing large amounts of data in a computer and methods used to search for and retrieve this data.
  • Software Engineering–the study of tools and techniques for software design, development, testing and maintenance

Four important components to the study of computer science are:

  • invention — creating new algorithms and architecture
  • design — how to solve computational problems
  • analysis — evaluation of software, algorithms, architecture and the proposed solution to a problems
  • experimentation — use of experiments and “what if’s” to determine if something will or does work – this is scientific investigation

Computer Studies This course examines some of the basic ideas of the science of computing. It includes a wide variety of topics such as the history of computing, the Internet and the Web, computer applications, computer systems and programming. Specific attention will be given to the social impact of computing technology. Students will participate in discussions, hands-on assignments and small projects. Students will also practice writing and presentation skills needed in the computing industry. If you are interested in computers, this is the place to begin.

Course Topics:

Virtual Reality

  • Human Computer Interaction Students are introduced to the major components of the computer, including: input, output, memory, storage, processing, software, and the operating system. Students consider how Internet elements (e.g. email, chat, WWW) are organized, engage in effective searching, and focus on productive use of email.


  • Problem Solving This unit covers the basic steps in algorithmic problem-solving, including the problem statement and exploration, examination of sample instances, design, program coding, testing, and verification. Tools for expressing design are used.

IMP in color

  • Web Design This section prepares students to take the role of a developer by expanding their knowledge of programming and Web page design and applying it to the creation of Web pages, programs, and documentation for users and equipment.
  • Programming Students are introduced to some basic issues associated with program design and development. Students design algorithms and programming solutions to a variety of computational problems, using Scratch.


  • Computing and Data Analysis In this unit students explore how computing has facilitated new methods of managing and interpreting data. Students will use computers to translate process and visualize data in order to find patterns and test hypotheses.

Programming Fundamentals Karel J RobotThis course is intended for students with no prior experience in computer programming.  Students are introduced to logic, ethics, number systems, and other fundamental computer science topics as well as learning to write code using common programming concepts such as decisions, repetitions, arithmetic, functions/procedures/methods, and objects.  Students learn to write computer code using a variety of commonly used scripting and object oriented programming languages.   Site Used for Many Programming Assignments Codecademy Languages Explored

  • HTML & CSS
  • JavaScript
  • jQuery
  • PHP
  • Python
  • Ruby
  • Java

How to Set Up Home Computer for Karel the Robot

  1. Download and install Java JDK
  2. Download and install Eclipse -> choose a version suitable for your home computer (Classic runs well  on old, slow machines)
  3. Download the Karel J Robot Simulator
  4. Use the steps provided in class to create a project, package, class, and program!

Java Programming This course is intended for students who have completed Programming Fundamentals.  Students with prior computer programming experience must obtain instructor approval.  This class is considered a pre-AP course and will prepare student for the AP class.  Students will be expected to complete written and programming assignments on various concepts including basic data structures.  Emphasis will be placed on procedural programming techniques, documentation and development of algorithms to process numerical information and text, as well as coding and debugging techniques.

How to Set Up Home Computer

  1. Download and install Java JDK
  2. Download and install Eclipse -> choose a version suitable for your home computer (Classic runs well  on old, slow machines)
  3. Download the Karel J Robot Simulator
  4. Use the steps provided in class to create a project, package, class, and program!

Java Methods

Online textbook resources.

Data Structures Data Structures and Algorithms is the continuation of Java Programming, a pre-AP course.  All students are prepared for the AP Computer Science exam through this course, and are encouraged to take the AP Computer Science exam.  Class time is devoted to lecture, tests, labs, case studies and directed practice.  Students complete this course with a clear understanding of Java and the ability to adapt to other programming languages.
Web Design This is an introduction to creating websites. Students will learn how to efficiently and professionally create a variety of sites using the Dreamweaver Software. Emphasis will be placed on planning, creating and implementing a variety of site styles with different audience expectations. Students will be expected to be able to work independently and in groups to accomplish site design and implementation.
Computer Team The Milford High School Computer Team is a competition based group.  Students with little to no programming experience may join.  Some contests are theory only, some are programming only, and some a combination of the two.  Students with strong programming skills or a desire to become better through competing with others, are invited to programming competitions at local colleges and universities.  In the past year we competed in the following:

  • ACSL (American Computer Science League) – four contests during each school year, held at MHS, students may choose theory only or combination of theory and programming
  • ACSL All-Star Programming Contest – 3 top scoring students in the combination programming/theory section of the above contests traveled to Colorado in May to represent Milford High School at this international competition.  They placed sixteenth in their division.
  • Fitchburg State High School Programming Contest – held in the fall and spring, programming only, students chosen from active team members
  • Worcester Polytechnic Institute Annual High School Programming Contest – held in the fall and spring, programming only, students chosen from active team members
  • St. Anselm College Programming Contest – held in the fall and spring, programming only, students chosen from active team members


Team meetings are Wednesdays after school in room 137 until 3:30 PM.  Time is dedicated to upcoming ACSL topics, but students attending upcoming programming only contests may also use the time to practice solving problems as a team.

Computer Science Principles Computing and Computer Science (CS) are helping to shape and change our world.  CS Principles is designed to introduce students to the central ideas of computing and CS, to instill ideas and practices of computational thinking, and to have students engage in activities that show how computing and CS change the world.  In this course, students will learn how to access the world of mobile services and applications as creators, not just consumers.  They will learn to create entertaining and socially useful apps that can be shared with friends and family.  In addition to learning to program and how to become better problem solvers, students will also explore the exciting world of computer science from the perspective of mobile computing and its increasingly important effect on society.  This course is part of a national project through the College Board and National Science Foundation and is expected to become an AP level course in the future.

Course Topics: