Computer Science Principles
-
Bellefonte Area High School
PLTW – Pre Engineering
Syllabus
Instructor: Mr. Vaughn W. Donmoyer
Classroom: Room 169
Computer Science and Software Engineering
Open doors in any career with computer science! In CSE, students create apps for mobile devices, automate tasks in a variety of languages, and find patterns in data. Students collaborate to create and present solutions that can improve people’s lives, and weigh the ethical and societal issues of how computing and connectivity are changing the world. This course aligns with the AP Computer Science Principles course.
Course Outcomes:
Students will:
Describe the role of creativity in designing an attractive, functional, and accessible graphical user interface.
Describe a computer as responding to input in a deterministic manner that depends only on input and on the computer's state
Recognize common patterns employing variables, including value accumulation, list aggregation, and iteration across the elements of a collection
Describe ways to identify the existence and location of errors in software
Identify the decade in which milestones occurred in the development of computing and the Internet
Describe examples in which computation has or will create new societal phenomena and human capabilities to perceive and act upon our environment
Describe examples demonstrating that new ways to collaborate and share information are evolving
Describe career-oriented opportunities to use computational skills to positively affect people's lives
Describe how computing is connected to innovations in other fields
Describe the role of creativity in designing a mobile application to solve a problem
Describe the ways in which various types of digital data can be represented in binary
Distinguish continuous and discrete phenomena and identify digital and analog data
Describe layers of abstraction that help people represent and use data
Identify layers of abstraction used in programming languages and describe advantages and disadvantages inherent in working at a high level of abstraction
Describe the implications of the limited precision of digital information in applications
Recognize common patterns employing variables, including value accumulation, list aggregation, and iteration across the elements of a collection
Recognize events and event-handlers implied by a user interface
Describe ways to identify the existence and location of errors in software
Describe career-oriented opportunities to use computational skills to positively affect people's lives
Describe the ways in which various types of digital data can be represented in binary
Identify layers of abstraction used in programming languages and describe advantages and disadvantages inherent in working at a high level of abstraction
Describe a computer as responding to input in a deterministic manner that depends only on input and on the computer's state
Recognize common patterns employing variables, including value accumulation, list aggregation, and iteration across the elements of a collection
Describe ways to identify the existence and location of errors in software
Describe the role that functions play in developing software
Distinguish among a variety of educational and reference resources related to code libraries
Describe a version control system
Describe the impact that computing has had in the social sciences, geography, and civics
Describe the implications of the limited precision of digital information in applications
Articulate a range of positions on the question of ownership of bits
Describe what metadata contain and how they can be used
Discuss societal implications of the persistence and the ease of copying digital information
Describe the role of creativity in designing an attractive, functional, and accessible graphical user interface
Identify layers of abstraction used in programming languages and describe advantages and disadvantages inherent in working at a high level of abstraction
Describe the model-view-controller pattern and relate to a particular software solution
Recognize that a solution to one problem, such as a particular sorting or optimization task, can be used to solve seemingly dissimilar problems
Recognize common patterns employing variables, including value accumulation, list aggregation, and iteration across the elements of a collection
Recognize events and event-handlers implied by a user interface
Describe ways to identify the existence and location of errors in software
Describe the role that functions play in developing software
Describe examples in which computation has or will create new societal phenomena and human capabilities to perceive and act upon our environment
Describe career-oriented opportunities to use computational skills to positively affect people's lives
Identify fields of computing careers
Describe an abstraction of hardware
Identify the relationship among nodes in a tree, as applied to the DOM in a Web page
Identify syntactic elements of HTML and CSS
Describe the hierarchical nature of the domain name system and IPv4 and IPv6 numbering systems
Describe the dependence of DNS on certificate authorities
Describe abstractions that enable the Internet to function, including IP addressing and domain name service
Describe the purpose and general nature of protocols that enable the Internet to function, including DNS, TCP/IP, SMTP, and HTTP protocols
Describe the governance of the Internet and the organizations that develop and maintain relevant standards
Identify examples of redundancy and autonomy in the physical and software systems of the Internet
Explain how redundancy and autonomy make the systems of the Internet scalable
Explain an encryption system
Describe the combination of encryption protocols with other protocols to provide secure transfer of information
Characterize the size, cost, and speed of computational processing as changing exponentially
Identify the decade in which milestones occurred in the development of computing and the Internet
Describe what metadata contain and how they can be used
Distinguish content from style and explain how accessibility requires a separation of these concerns
Analyze access to the Internet and to data among people in different countries, and connect to measures of health and wealth
Describe examples in which computation has or will create new societal phenomena and human capabilities to perceive and act upon our environment
Contrast the patterns of inequity characterizing the personal computing revolution and the current mobile computing revolution
Describe how computing is connected to innovations in other fields
Describe how specific career fields, e.g. biology and marketing, have changed profoundly as a result of automated collection and processing of data
Articulate a range of positions on questions related to privacy with respect to Big Data
Describe examples demonstrating that the Internet has profoundly altered the way that scientists collaborate, publish, and access each other's work
Describe examples of crowdsourcing being used for large data set collection or collective biological processing power
Describe examples of how location-aware computing is transforming infrastructure
Identify the relationship between parallel computation and computationally intensive tasks like simulation, modeling, and analysis of large data sets
Relate the categorical or quantitative nature of data to the operations and visualizations that are appropriate
Identify layers of abstraction used in programming languages and describe advantages and disadvantages inherent in working at a high level of abstraction
Distinguish continuous and discrete phenomena and identify digital and analog data
Describe any simulation as abstracting some aspects of a model while ignoring other details
Describe any simulation as relying on assumptions, some of which can be parameterized, with conclusions applicable to a range of parameter values
Distinguish deterministic and randomized models and describe the role of Monte Carlo techniques
Recognize that chaotic and periodic behavior can be exhibited by both deterministic and randomized models
Discrete, continuous, and agent-based models using digital computation rely on discrete calculations
Describe some of the major applications of simulation
Identify landmarks in hardware development such as tubes, transistors, and VLSI, as well as developments such as optoelectronics, nanotechnology, and quantum computing
Describe the implications of the limited precision of digital information in applications
Describe the abstraction of a logic gate and explain how complex logic functions can be constructed from NAND gates
Identify the relationship between parallel computation and computationally intensive tasks like simulation, modeling, and analysis of large data sets
Characterize the size, cost, and speed of computational processing as changing exponentially
Describe examples of how location-aware computing is transforming infrastructure
Describe examples of crowdsourcing being used for large data set collection or collective biological processing power
Describe examples in which computation has or will create new societal phenomena and human capabilities to perceive and act upon our environment
Course Questions
How do computers perform complicated tasks built from simple instructions?
How are variables used in programming?
How do programmers approach a complicated problem?
What role does creativity play in algorithmic programming?
What makes for a good process for collaborative software development?
What do programming languages and development environments have in common?
What can be represented by binary data?
What contributes to an effective process for software development?
How can a program be analyzed, understood, and modified?
How does abstraction make the software development process easier?
What are the practices that lead to effective collaboration?
What role does creativity play in algorithmic programming?
How does abstraction make the software development process easier?
What are the practices that lead to effective collaboration?
What role does creativity play in algorithmic programming?
How is computing affecting the way we live our lives?
How will computing change our world?
How does the Internet work?
How can we protect ourselves, our privacy, and our assets when working on the Internet?
How has the Internet affected society?
What is the nature of attack and defense in cybersecurity?
How will computation impact fields other than computing itself?
How will computation impact society?
How can patterns be discovered in data?
How has computation changed biology?
How are simulations created from models?
How are simulation models similar to and different from reality?
How are modeling and simulation impacting other creative fields?
How has computation affected our ability to predict the future?
How has computation affected our ability to experience virtual phenomena?
How has simulation changed the design process in engineering and other creative fields?
Evaluation
Evaluation will be in accordance with the Bellefonte Area High School grading policy as stated in the handbook. In accordance with individual potential, a student is expected to master the level of achievement for his/her level. The student’s efforts to reach the outcome will be measured by the teacher during classroom observations of the student and his/her work. Final grades will be determined by averaging the actual grade from each quarter according to the following:
A: 100-90%, B: 89-80%, C: 79-70%, D: 69-60%, and F: 59-0%
Classroom Grade will be evaluated by the following:
1. Quizzes and Tests 20%
2. Class Activities (class work) 60%
3. Projects 20%
Grading Policy:
Students are expected to work during time they are given. Most of the materials and software used for this course must stay in the classroom. Students will be able to come down and work during a study hall. There will be little homework throughout the year. They must be focused and concentrate on the task at hand. Principles of Engineering is a fast passed course. There is a lot of information to go over. Students that are absent frequently will have a harder time doing well in the course. You must make arrangements with the teacher to make up the missed information and assignments. Students will not fail if 100% effort is given in a project no matter what the outcome of the project may be.
Standards Addressed:
Pennsylvania State Standards
3.1.12. A, 3.1.10.E, 3.2.12.A, 3.2.12.D, 3.4.10.B, 3.4.12.B, 3.6.10.B, 3.7.10.A, 3.7.10.B, 3.7.10.D
PA Standards Align System (Common Core)
Technology and Engineering: 3.4.10.A2, 3.4.10.A3, 3.4.10.B1, 3.4.10.B4, 3.4.10.C1, 3.4.12.C2, 3.4.12.C3, 3.4.10.D2, 3.4.12.D2, 3.4.10.E4, 3.4.12.E4
Math: 2.3.11.C, 2.3.11.E, 2.5.11.A, 2.6.11.C, 2.8.11.B, 2.10.11.A