• Computer Science

    The Computer Science Department introduces students to various disciplines, tools, and concepts in the fields of Programming, Computer Science, and Information Technology.

    The On-level Courses provide a practical, hands-on approach to learning where students combine teacher-led demonstrations with on-line tutorials (text and video based) to complete skill building tasks and large creative projects.  These courses are co-curricular with the academic organization FBLA (Future Business Leaders of America), so many of the class assignments relate directly to FBLA competitive events.  Each course also has a focus on learning and demonstrating employability skills required by business and industry.

    The Advanced Studies Courses provide college-level classes that you can take while still in high school. They offer you challenging course work and a preview of what college is like. Students are expected to prepare for class discussions through assigned readings and/or on-line tutorials, and class discussions focus on analysis and synthesis. Some class time is used as “lab” time, but students are also expected to work on assigned projects outside of class. This means that they must have frequent and reliable access to a computer and the Internet when away from school, or make arrangements to use the school computers outside of class time.

    Available Pathways

    South Forsyth offers two Pathways in the Computer Science Department, featuring a CTAE pathway that includes two Advanced Studies courses.

    Programming Pathway
    • Intro to Digital Technology

    • Computer Science Principles (non-AP version)
      prerequisite: Intro to Digital Technology

    • Programming, Games, Apps, and Society
      prerequisite: CSP (non-AP) or AP CSP
    Students that have taken Computer Science Principles (non-AP version) CAN enroll in AP Computer Science Principles. There will be new material covered and additional projects to complete that were not part of the CSP (non-AP) course.
    Computer Science Pathway
        Includes two AP courses in the pathway.
    • Intro to Digital Technology

    • AP Computer Science Principles
      prerequisite: Intro to Digital Technology

    • AP Computer Science A
      prerequisite: AP Computer Science Principles
    Students that have successfully completed AP Computer Science Principles CAN enroll in Programming, Games, Apps, and Society to complete the Programming Pathway instead of this one, or in addition to this one.  PGAS and AP CS A can be taken in the same school year, if desired, or in different years if schedule allows.

    Students that have taken Computer Science Principles (non-AP version) CAN enroll in AP Computer Science Principles. There will be new material covered and additional projects to complete that were not part of the CSP (non-AP) course. Students can then choose either AP Computer Science A to complete the Computer Science Pathway or Programming, Games, Apps, and Society to complete the Programming Pathway.

    On-level Courses

                Course 1 – Introduction to Digital Technology
                Course 2 – Computer Science Principles (non-AP version)
                Course 3 – Programming, Games, Apps, and Society

    Course 1 – Introduction to Digital Technology

    This course introduces students to foundational skills and concepts necessary in all fields of Computer Science.  Students learn, and are graded, primarily through hands-on projects.  Topics of study include:
        Image and graphics creation/editing using Adobe Illustrator and Photoshop
        Block-based programming using Scratch (games and simulations)
        Computer hardware, software, and networking
        Intro to text-based programming using Greenfoot/Java (games and simulations)
        Website development using web site builder tools and writing HTML
    Other related topics studied throughout the course include:
        Careers in Computer Science, Business Ethics (especially as it relates to the
        use of technology), and Computer Science History

    Course 2 – Computer Science Principles

    Students in this course get the opportunity to continue working with the tools learned in Course 1, as well as gain exposure to new tools and concepts.  This course also begins to explore the theoretical foundations of computer science, providing a solid foundation for college-level computer science studies. Topics of study in this course include:
        Advanced text-based programming using Greenfoot/Java (games,simulations)
        Algorithmic solutions/problem solving using Java
        Number systems, binary operations, and data representation
        Intro to Mobile App Development for Android
        Operation of networks, the Internet, and Internet-based systems
        Intro to SQL for database management

    Prerequisite: Intro to Digital Technology 

    Course 3 – Programming, Games, Apps, and Society

    In the pathway capstone course students are encouraged to extend their knowledge of and apply the tools learned earlier to collaborate on large projects for FBLA competitive events and other CS competitions (e.g. STEM Challenge, Verizon App Challenge, GA Technology Fair).  They also have the opportunity to learn microcontroller programming (a combination of electronic circuit design and computer programming).  Time is also allocated for study and preparation for the End of Pathway assessment - the Microsoft Technology Associate certification in Software Development Fundamentals.  Competitive event topics include:
        Desktop Application Programming
        Computer Game and Simulation Programming
        Mobile App Development
        Website Design and E-business Website Design

    Prerequisite: Computer Science Principles or AP Computer Science Principles 

    Advanced Studies Courses

    The Computer Science department currently offers two college-level courses:
                AP Computer Science Principles / IB Computer Science SL
                AP Computer Science A

    Students wishing to take both courses are required to take them in the order listed above.  If you need to take IB Computer Science SL for IB credit (e.g. as one of your IB courses in the Career Program or Diploma Program), you must take it in either your junior or senior year.  If you also want to take AP Computer Science A, then you must take IB Computer Science SL in your junior year.
                IB Computer Science HL is also under consideration.  IB students interested in
                an HL option in Computer Science should see Mr. O’Connor in Room 135 and/or
                Mr. Denney in the IB Office

    IB Computer Science SL – Yr One (11th or 12th grade)
    AP Computer Science Principles (10th, 11th, or 12th grade)

    These two courses cover essentially the same material, so you can only take one or the other, but not both in separate years.  There are AP and IB specific projects that would be performed depending on which version of the course you're enrolled in and which exam (if any) you plan to take.  It is possible to plan on taking both the AP and IB exam in the same year, in which case a student would have to do both the AP and IB specific projects, since the project scores are part of the final exam score. 

    Computer science requires an understanding of the fundamental concepts of computational thinking, as well as knowledge of how computers and other digital devices operate.  Computational thinking involves the ability to think procedurally, logically, concurrently, abstractly, recursively (HL only) and think ahead; utilize an experimental and inquiry-based approach to problem-solving; develop algorithms and express them clearly; and appreciate how theoretical and practical limitations affect the extent to which problems can be solved computationally.  Students at SL and HL in computer science study a common core consisting of:  five topics - 1) system fundamentals; 2) computer organization; 3) networks; 4) computational thinking, problem-solving and programming; and 5) web science – operation of the Internet, website development, PHP/MySQL programming; and one piece of internally assessed work, which includes a computational solution.  Students who continue to the HL level would spend a year on more focused and intense programming, equivalent to AP Computer Science A, plus a few other advanced topics not typically covered in the AP course.
    The AP version of this course includes a research project and a programming project that is sent in to College Board for grading and is included as part of your final AP exam score.

    The IB version of this course includes a Group 4 field trip/project and a programming project that is included as part of your final IB exam score (selected projects will be sent to IB for scoring).

    Required prerequisite:  Intro to Digital Technology (9th or 10th)
    Possible prior course: Computer Science Principles (non-AP version) (10th or 11th)
      Taking Computer Science Principles (non-AP version) would give a student additional foundational
       work and exposure to topics before having to do similar work at a much higher level and faster
       pace in the AP CSP or IB CS SL course.

    AP Computer Science A (11th or 12th grade)

    This course is equivalent to a first-semester college level course in programming. The course emphasizes object-oriented programming methodology (using the Java language) with a concentration on problem solving and algorithm development. It also includes a study of data structures, program design, and abstraction.  The topics are covered in detail, through reading assignments and class discussion, from a mostly theoretical aspect, with programming tasks designed to support the learning of programming theory and preparation for the AP exam.

    Required prerequisite:  AP Computer Science Principles or IB Computer Science SL (beginning in 2017-2018 school year)
                                          Computer Science Principles (for 2016-2017 school year) 
Last Modified on July 29, 2019