Magnet Courses


Fundamentals of Computer Science A/B

  • Grade Level: 9
  • Prerequiste: none
  • 0.5 credit per semester

Taught by Ms. Piper, Fundamentals of Computer Science is closely linked to freshmen Physics, Chemistry, and R&E. For example, Microsoft Excel and STELLA models numerical data and the motion of objects in real time (physics concepts). You will also find out what that PRGM button on a TI-83 calculator does and how to program on TI-83. Later in the course, students will master the engineering of digital circuitry and wire electronic circuit boards! (Usually, these topics are not taught until college!) Additional topics taught include the basics of a Linux operating system, DrScheme, number systems, recursion, and much more! Fundamentals of Computer Science prepares you for computer programming in high-level languages, covered in Algorithms and Data Structures. For the real computer enthusiast, you will be equipped to take on American Computer Science League competitions; you may even join Computer Club, Web Design Club, or try out for the "Accelerated Track"!

Show/Hide formal description
Students study both the theory and practice of computer use through a wide variety of activities developed to coordinate with their mathematics and science courses. Students design and implement their own original solutions to given problems, following current structured programming concepts in a high-level language. They learn the inner workings of computer systems and design and build circuitry to accomplish a given task.

Algorithms and Data Structures A/B

  • Grade Level: 9 - 10 - 11
  • Prerequisite: Fundamentals of Computer Science A/B
  • 0.5 credit per semester

TI programming, digital gate processing, and possibly Dr. Scheme. Now that you've learned all of that, let's step it up. ADS is all about JAVA. But don't get frightened, Mrs. Dvorsky will be there all the way, to aid you as you learn about object oriented programming, arrays, input/output, linked lists, and plenty more. You emerge from this class with a full handle on the basics of JAVA, and prepared for Analysis of Algorithms the following semester.

Show/Hide formal description
Students learn object-oriented programming methodology, and the use and implementation of abstract data types using a high-level programming language. Students study object-oriented programming methods in order to design and code programming solutions to problems that require the use of files, control structures, methods, functions, classes, and arrays.
Students study static and dynamic implementation of data structures. Stacks, queues, linked lists, and recursion are emphasized.

Analysis of Algorithms

  • Grade Level: 10 - 11 - 12
  • Prerequisite: Attainment of the outcomes of Algorithms and Data Structures A and B
  • 0.5 credit per semester

To learn more about programming in Java, take this exciting and engaging course. Throughout the semester, you will learn even more about algorithms and data structures to make your program more efficient, as well as new concepts such as trees and maps. Be prepared to write programs to do anything from sorting lists and doing algebra to drawing pictures and moving bugs. And don't forget, this class also prepares you for the AP Computer Science Exam!

Show/Hide formal description
Students study the mathematical and empirical analysis of algorithms. Various searching and sorting techniques are examined. Benchmarking, the efficiency of algorithms, and comparative studies are emphasized as well as the current AP computer science case study. All the objectives of the MCPS AP curriculum are studied, with a greater degree of rigor and sophistication. Students are prepared to take the AP Computer Science AB Exam.

Computer Graphics

  • Grade Level: 11 - 12
  • Prerequisite: Attainment of the outcomes of Analysis of Algorithms or AP Computer Science
  • 0.5 credit per semester

Computer Graphics is a great introduction to next level of computer science. Unlike previous computer science courses, the end result of each program is not fully predefined. Students have the ability to be fairly creative and unique within the bounds of the rubric. The class teaches all the skills of using Java to create 2D graphics, animations, and eventually a basic physics simulation. There is no shortage of projects to work through, but a keen and conscientious student should find them all reasonable and engaging.

Show/Hide formal description
An introduction to the use of computers for input, manipulation, and display of graphical information. Students design and code modules to carry out fundamental graphics operations such as transforming, clipping, and zooming two-dimensional objects. Some animation techniques also are studied.

Software Design

  • Grade Level: 11 - 12
  • Prerequisite: Attainment of the outcomes of Computer Graphics
  • 0.5 credit per semester

Software Design is unique because of its freedom. Working with one or two team members, you get one whole semester to develop a software application from start to finish. Most groups decide to create a graphics-based game but the ultimate decision is up to the group members. Time management is a must, but this course is the perfect opportunity to put your programming skills to use and imagination to work. The end result is definitely worth it.

Show/Hide formal description
A formal approach to current techniques in software design and development provides students with a means to apply the techniques as they work in teams in the organization, management, and development of a large software project from start to finish. Software management, program requirements definition, program design methodology, program correctness, documentation, program testing, and program maintenance are studied.

Computer Modeling and Simulation

  • Grade Level: 11 - 12
  • Prerequisite: Attainment of the outcomes of Analysis of Algorithms or AP Computer Science
  • 0.5 credit per semester

Imagine, if you will, lots of squirrels. So many squirrels that they can gang up on you and take your sandwiches. This is not very realistic. In fact, your squirrel population model probably just went beserk with a positive feedback loop.
Learn how to create realistic, useful, informative and robust models in ModSim. As well as prevent squirrel gangs.

Show/Hide formal description
The theoretical foundations for modeling and simulating discrete and continuous systems are studied. Students design computer simulations and implement them in a high-level language using current simulation software tools.

Introduction to Aritificial Intelligence with LISP

  • Grade Level: 11 - 12
  • Prerequisite: Attainment of the outcomes of Analysis of Algorithms or AP Computer Science
  • 0.5 credit per semester

Introduction to AI covers the basic history and concepts of the growing field of artificial intelligence. Students learn to code functions and programs in LISP, including a logic puzzle solver that inputs clues and outputs the solution to puzzles often solved with grids. The class involves independent work as well as several group projects. For anyone who would like to learn about the theory and applications behind artificial intelligence, the class is a solid and fun introduction to a very timely subject.

Show/Hide formal description
An introduction to the traditional problems and techniques of artificial intelligence. Students study search strategies, knowledge representation, and an introduction to LISP. Application areas include expert systems, natural language processing, and vision processing.