Introduction to Programming Huntsville High School 2019-2020 Instructors: Jim Morse Contact Information: [email protected] Prerequisites: Completed Algebra 1 with average or better grades recommended, ability to type 50+ wpm. Course Description: This course will introduce students to concepts and computational thinking which will further prepare them for study in the Huntsville High School Game Design, PLTW Engineering, PLTW and/or Cyber Security career pathways. This course covers programming design and best practices using tools such as flowcharting and algorithmic development. Students will be taught to write programs using textural based programming languages developing skills in using the basic structures needed in design and scripting. Students will also explore the impact of computer science on society and career opportunities. Topics covered include: 1. Programming Ethics and Security 8. Object orienting program design 2. Creativity and Programming 9. Programming with Numbers 3. Markup languages 10. Programming with Strings 4. Programming Languages 11. Logical Expressions and Conditionals 5. Programming Design and Algorithms 12. Functions and Methods 6. Input and Output 13. Loops and Recursion 7. Data Types and Variables 14. Lists and Arrays Course Objective: Students successfully completing this course should have the knowledge to apply their programming skills in the Game Design, PLTW Engineering and Cyber Security career pathways and take advanced programming courses at Huntsville High School. Classroom Expectations: Students are expected to... 1. Follow the Huntsville City Schools and HHS Disciplinary Guidelines as laid out in the student handbook(s). 2. Follow the Huntsville City Schools Computer Use Policy. 3. Attend class as directed by their schedules, arrive on time and be ready to be active in class from bell to bell unless directed otherwise by the adult in authority. 4. Check the class Canvas page for all assignments daily, realizing that even if they miss a class they are responsible for the material presented. 5. Do their own work (Honor Code). Follow copyright laws for any use of online materials in activities, labs, projects or programs. 6. Show their peers and adults that they are valued. Be respectful. 7. Be responsible for their own education and action in the classroom. 8. The HCS Personal Electronic Devices Policy will be followed in this class. No Personal Devices allowed. 9. Be actively engaged with course work during class. Network monitoring software will be used in class, any computer found to be hidden from the network will be confiscated and turned into the IT department for evaluation. 10. Students are expected to us the public facilities before/after class or during programming times. There will not be any passes handed out during instructional time. Grading Policy: 1. Students will have varied assessment items to assure that standards are being met. These assessment items will include; traditional tests and quizzes, Verbal/visual assessments, and hand-written programs. If you miss an assessment due to an abcence, it is the student’s responsibility to schedule a make-up time outside of class time. 2. Students will receive grades for completion of assignments. These include; participating and completing group and individual in-class practice activities, completing assignments that cannot be completed during class hours at home, and participating in discussions both online and in person. 3. Huntsville City Schools and Huntsville High School grading policies will be followed. Highlights of said policy: a. Students are expected to turn their assignments and homework in on time. b. Students that miss an assignment because of an unexcused absence will not be permitted to make up the assignment or class activity. Students with unexcused absences have 10 school days to complete assessments. c. Students that miss an assignment because of an excused absence are expected to turn in the assignment on or before their first day back to school. Learning Standards: Students will: 1. Understand programs should be developed in an ethical and secure fashion. 2. Understand the reasons why programmers create programs. 3. Explain how programs implement algorithms. 4. Use abstraction to manage complexity in programs. 5. Evaluate the correctness of programs. 6. Demonstrate appropriate mathematical and logical concepts in programming. 7. Demonstrate the ability to use loops to navigate through a list or array. 8. Understand and use recursion to manage data flow in complex programming. 9. Demonstrate and understand abstraction in computer programming using methods and functions. 10. Produce an appropriate application that ties with their career pathway of choice.