Computer Science 1 Pre-AP Syllabus 2015-2016 Instructor Information Instructor Email Office Location & Hours Tapu Ahmed tahmed@dentonisd.org B203, M-F from 8:00am – 8:30am General Information Description Introduce students to the basic concepts of technology and how computers behave. PreAP classes follow the same syllabus as CS1 but face far more challenging exams and labs. Expectations and Goals All students are to be able to demonstrate basic understanding of problems solving, analytical thinking, and programming style in the computerized world. Students must also demonstrate an understanding of how technology advances and how our society is affected with the advent of technology. The following syllabus is consistent with the TEKS standard. Course Materials Required Materials All materials are provided in the lab, there is no textbook associated with this course. Course Schedule 1st Quarter Number Theory: analyze the different number theories behind decimal, octal, and hex number systems. Introduction to parts of a computer, understand what the different parts of a computer does. Analyze CPU, RAM, motherboard, heat sink, external peripherals. Page 1 Introduction to operating systems. Learn the basics of an operating system and how they behave and accomplish tasks. Introduction to network systems. Learn the basics of a network and how they work. Understand internet packets and protocols that run within these networks. Talk about programming languages and how they work. Start understanding how a computer understands instructions. Basics of a compiler, in particular the Java compiler 2nd Quarter Introduction to algorithms. Understand how a computer follows a sequence of instructions. Understand and utilize flow charts to solve basic problems. Introduction to Java basics. Learn to write pseudocode. Learn basic variable declaration and mathematical operations/operators. Utilize the math class. Utilize the String class. Utilize the Scanner class. Utilize basic input/output. Introduction to writing methods in java. Learn techniques to debug and modify existing written code. 3rd Quarter Introduction to advanced algorithms. Understand how a computer can follow multiple sequences of instructions. Learn branching and conditional statements depending on input and operation result. Branching syntax and understanding conditional statements are critical here. Utilize the various loops. Looping syntax and understanding various looping techniques are key elements here. Introduction to Arrays. Understand what an array is and how they function. Student must also understand how we access and manipulate an array. Introduction to advanced methods. Students must be able to form their own methods. They should show an ability to pass parameters and use return types. 4th Quarter Introduction to object oriented programming. Page 2 Student should understand the basics and the advantages to the objected oriented approach versus other styles of design. Understand the declaration of a class and how it works. Understand the concepts of data encapsulation and information hiding. Show the ability to declare an object and manipulate the object’s values. Introduction to a class’s methods: constructors, accessors, mutators. Show an understanding of a how a constructor initializes an object. Show an understanding of how mutator and accessor methods can be utilized. Students must understand how class privacy works as well, and the difference between private, public and protected variables and methods. Introduction to class arrays. This is classes and the idea of arrays married together. Use Java to manipulate files. Show basic understanding of reading, modifying, creating, and deleting existing files. Page 3