ISTE Standards for Computer Science Educators
1. Knowledge of content: Computer Science Educators demonstrate knowledge of Computer Science content and model important principles and concepts.
It is incredibly important that any instructor of a specific content area have a strong foundation and understanding of the content that they will be teaching. I have studied the history of computing, this has helped me to understand the evolution of computer science from the beginning. I also learned about both the hardware and software in computers by taking apart a computer and putting it back together. In addition I practiced programming a computer with dual operating systems. After studying the basics, I studied system networks and met with the technical staff at the IU school of education to learn how they operate a successful secure network. I also practiced programming a website with my peers on a remote server, this required extensive work with PHP, dreamweaver, and MySQL.
a. Demonstrate knowledge of and proficiency in data representation and abstraction
i. Effectively use primitive data types (string, numbers, value types)
Linked in the evidence is a document with primitive data types showing different functions allowing a user input information into a form and receive back some type of response from the code.
Evidence 1.A i
ii. Demonstrate an understanding of static and dynamic data structures
To demonstrate understanding on static and dynamic data structures I attached an example of static code that I wrote and dynamic code that I wrote. More explanation into to how the examples display dynamic and static code is documented in the attached evidence.
Evidence 1.A ii
iii. Effectively use, manipulate, and explain various external data stores various types (text, images, sound, etc.), various locations (local, server, cloud), etc.
This is a video about the Indiana School of Education technology staff. The video goes over a possible concern or problem that the staff may need to address. The topic is external data storage for students and faculty who want to save or transfer their work. The video goes over the numerous ways to address this concern.
Evidence 1.A iii
iv. Effectively use modeling and simulation to solve real-world problems
This is a graphic relating the construction of a house to object oriented programming. The students can use this graphic as a model of how object oriented code is organized. Once students are able to comprehend how OOP is organized they can effectively begin solving real-world problems using this high level programming paradigm. A potential activity that students could do using this graphic may be to create a database for the construction of a home, the students could then categorize the different types of contractors that they would need to build the house, this example can be used both literally and figuratively with OOP.
Evidence 1.A iv
b. Effectively design, develop, and test algorithms
i. Using a modern, high-level programming language, construct correctly functioning programs involving simple and structured data types; compound boolean expressions; and sequential, conditional, and iterative control structures
This is a portion of the standard that I have some practice with yet do not feel particularly strong in. For my evidence I linked functions that I wrote that display both simple and structured data types. To improve upon this substandard I will review online resources covering these different data-types.
Evidence 1.B.i
ii. Design and test algorithms and programming solutions to problems in different contexts (textual, numerical, graphic, etc.) using advanced data structures
These examples use advanced php data structures that run calculations on a server computer and output a number or text to the user. Functions allow for a programmer to have sleeker more sophisticated code because the function code does not visually show up in the open file. Problem one is a html form and php form that posts a greeting to a specific username entered in the web browser. Problem two is a calculator for basic algorithms with two integers entered. Problem five is a form that searches text for a particular event then gives an output in the browser to the user.
Evidence 1.B.ii
iii. Analyze algorithms by considering complexity, efficiency, aesthetics, and correctness
This is another area that I am working on, I am always considering principles of design while I am working on computer code. First I contemplate the purpose or scope of the project. Next thinking about the development which draws to focus aesthetics and efficiency. Lastly considering stability and the correctness of the code. For my evidence I included some exercises where I explain how the sequence and lines of code operate to complete an algorithm.
Evidence 1.B.iii
iv. Demonstrate knowledge of two or more programming paradigms
In my computer educator program we did web scripting with PHP and the two programming paradigms we used were procedural and object oriented programming. I demonstrate my knowledge of OOP by explaining what it is and explaining the different components of OOP and why it is beneficial to use this type of paradigm. I demonstrate knowledge of procedural programming in evidence 1.B.ii.
Evidence 1.B.iv
v. Effectively use two or more development environments
When creating our class website we ran code in the local servers on the individual workstation computers then transferred the code to a remote server to test if it would run properly.
Evidence 1.B.v
vi. Demonstrate knowledge of varied software development models and project management strategies
I know that a group of software developers will often use object oriented programming because it uses simple classification and is easier to understand going from one programmer to another. I am still developing this substandard and looking for opportunities to learn more about software development models and project management strategies.
In Progress
c. Demonstrate knowledge of digital devices, systems, and networks
i. Demonstrate an understanding of data representation at the machine level
Data is represented through an intricate process of machine components working together. To demonstrate my understanding I linked an example of how data is represented at the machine level when using an application such as Microsoft Word.
Evidence 1.C.i
ii. Demonstrate an understanding of machine-level components and related issues of complexity
For this standard I linked a practice assignment I worked on in one of my computer science classes. I demonstrated understanding of machine level components by discussing how a computer functions during an activity such as typing on a word document. I also explain the complex process and parts involved in booting up a computer.
Evidence 1.C.ii
iii. Demonstrate an understanding of operating systems and networking in a structured computer system
This is a video that I made about operating systems and how they work including the components and structure within a the computer. This video addresses the inner networking of the computer and how it has multiple levels that are important in understanding how the computer functions. This video was targeted for intermediate grade levels but can also be good introduction to operating systems for older students because it touches on many important aspects of a structured computer system.
Evidence 1.C.iii
iv. Demonstrate an understanding of the operation of computer networks and mobile computing devices
For this substandard I demonstrated an understanding in evidence of how computer networks operate. I used the computer lab I worked in during my program as an example of a local network. I am still building an understanding of how mobile computing devices work, I am seeking out educational opportunities to learn more about this topic.
Evidence 1.C.iv (Partially Completed)
d. Demonstrate an understanding of the role computer science plays and its impact in the modern world
i. Demonstrate an understanding of the social, ethical, and legal issues and impacts of computing, and attendant responsibilities of computer scientists and users
This substandard is very relevant to computer scientist navigating many new territories relating to user privacy. Many companies wanting to get ahead are putting pressure on computer scientists to track and share more and more of their users data, it is hard to know where the line should be drawn and I believe this is a topic that is still up for debate. This is a substandard that I am still "in progress" with because I believe there is a lot happening in real time relating to this topic. One way I could talk to my students about this would be discussing news stories and court cases relating to digital issues.
In Progress
ii. Analyze the contributions of computer science to current and future innovations in sciences, humanities, the arts, and commerce
To complete this substandard I took a look at the path that computer science has taken since the start of the field. Then l discussed with my colleagues/peers the impact that the past innovations have had on the sciences, humanities, arts, and commerce and what we can anticipate for future impacts by making these comparisons. We also had an interesting discussion about what was the most significant innovation to computer science through the years. Predicting future innovations is a challenging topic since the field of computer science is rapidly progressing and expanding and becoming more apart of our everyday lives.
Evidence 1.D.ii
2. Effective teaching and learning strategies: Computer Science Educators demonstrate effective content pedagogical strategies that make the discipline comprehensible to students.
Computer Science is a challenging area to study this makes it extremely important that instructors in the content area use effective pedagogical strategies that allow students to grasp the material. Computer Science content needs to be scaffolded and taught in small lessons each building upon existing knowledge.
a. Plan and teach computer science lessons/units using effective and engaging practices and methodologies
i. Select a variety of real-world computing problems and project-based methodologies that support active and authentic learning and provide opportunities for creative and innovative thinking and problem solving
ii. Demonstrate the use of a variety of collaborative groupings in lesson plans/units and assessments
iii. Design activities that require students to effectively describe computing artifacts and communicate results using multiple forms of media
This is a webpage that I and a team member constructed to help engage students in the topic of object oriented programming. After having the students view the content I would have them take the quiz at the end of the page to see if they absorbed the lesson or need to go back and review content. Then in addition to the quiz to assess the students understandin as an in class activity and authentic assessment I would have the students work in groups to make up their own real world OOP scenario. The students would make it into a visual presentation to share with the class, this way the teacher can evaluate if the students are fully grasping the concept.
Evidence 2.A.i/ii/iii
v. Identify problematic concepts and constructs in computer science and appropriate strategies to address them
This is a website that I helped construct, it is designed for high school students in a computer science class, bits and pieces can be applicable to many grade levels of computer science education. The page shown in the image is a resource page where students can look for frequently asked questions and get the help they need to progress their knowledge. The site has many tools to help the students learn complex topics and offers resources as well as ways to test content knowledge.
Evidence 2.A.v
iv. Develop lessons and methods that engage and empower learners from diverse cultural and linguistic backgrounds
vi. Design and implement developmentally appropriate learning opportunities supporting the diverse needs of all learners
These are applications that I would use to supplement classroom lessons for learners who need to use a little extra assistance in order to learn to the content and also learners from diverse cultural and linguistic backgrounds. These are all easily accessible and user friendly applications from the iPad. Having tools like these in the classroom can help minimize frustration from students who have an impairment, learning disability, or language barrier. The first application would be good to use in an elementary classroom and the second two are good for any level learner and language background.
Evidence 2.A.vi/iv
vii. Create and implement multiple forms of assessment and use resulting data to capture student learning, provide remediation, and shape classroom instruction
This is an online rubric that I created for an example lesson that I would have students do in an elementary classroom. This tool also allows you to have students take surveys and polls so that the instructor can see where the students are at. Once teachers have gathered this information from the admin page they can decide what needs to be reviewed.
Evidence 2.A.vii
3. Effective learning environments: Computer Science Educators apply their knowledge of learning environments by creating and maintaining safe, ethical, supportive, fair, and effective learning environments for all students
As for any educator it is important that learning environments be created safe, ethical, supportive, fair, and effective for all students. Without all the factors of a balanced learning environment students cannot reach their fullest potential.
a. Design environments that promote effective teaching and learning in computer science classrooms and online learning environments and promote digital citizenship
i. Promote and model the safe and effective use of computer hardware, software, peripherals, and networks
This is a prezi for students and parents about how to navigate the online world in a safe and effective way. Students will learn what is acceptable for use and how to use the computer and its resources as an effective tool.
This is a funny poster that a computer science teacher may post in the lab to remind students about healthy computer use. It is important in addressing this standard that physical health does play a part in safe and effective computer use for students. Computer science requires a heavy amount of time on the computer and we need to remind students that this needs to be balanced with a healthy lifestyle so that they are not at risk for computer related health issues.
Evidence 3.A.i
ii. Plan for equitable and accessible classroom, lab, and online environments that support effective and engaging learning
This is a prezi that is made for parents to view, the presentation is about cyberbullying, the who, what, where, how, and everything parents need to know. I think the best way to create a positive classroom environment is to educate the students and parents alike because as soon as the students go home the teacher is no longer there to monitor them and what they are doing on the computer. When students feel safe in their learning environment and free from harassment they are in a place more conducive to learning.
Evidence 3.A.ii
4. Effective professional knowledge and skills: Computer Science Educators demonstrate professional knowledge and skills in their field and readiness to apply them
Computer Science Educators must display that they have the necessary professional knowledge to continue their growth in the field. Computer Science Educators may gain this professional knowledge through their engagement in professional networks and seeking out opportunities for professional development. After acquiring this knowledge Computer Science Educators must be prepared to apply what they have learned to their instructional methods and curriculum.
a. Participate in, promote, and model ongoing professional development and life-long learning relative to computer science and computer science education
i. Identify and participate in professional computer science and computer science education societies, organizations, and groups that provide professional growth opportunities and resources
This is one of the online professional computer science education communities that I participate in, it helps me keep up to date and connected to other educators. Being apart of an online community like this is really important in a rapidly progressing field such as computer science because it allows me to address and respond to new concerns that may come up in the field.
Evidence 4.A.i
ii. Demonstrate knowledge of evolving social and research issues relating to computer science and computer science education
Here I posted on a blog, posing a question about Linux. Online communities especially with experts are a great to consult with when deciding what kind of material, hardware, or software you want to introduce in the classroom. You can also address whether something is relevant and important in modern computer science education. Displayed is the response that I got back from the question that I posed on one of my online communities. I found "Ask a Tech Teacher" blog to be very helpful relevant and applicable to the computer science classroom. Getting conversations like this going is essential for a computer science teacher who is looking to stay at the forefront of education technology.
Evidence 4.A.ii
iii. Identify local, state, and national content and professional standards and requirements affecting the teaching of secondary computer science
This was the Statewide IT conference that I attended in 2012 when it was last most recently held. At the conference topics about new technology and security concerns were covered and discussed. Changes that were occurring on a nation, state, and local level were addressed.
Evidence 4.A.iii
It is incredibly important that any instructor of a specific content area have a strong foundation and understanding of the content that they will be teaching. I have studied the history of computing, this has helped me to understand the evolution of computer science from the beginning. I also learned about both the hardware and software in computers by taking apart a computer and putting it back together. In addition I practiced programming a computer with dual operating systems. After studying the basics, I studied system networks and met with the technical staff at the IU school of education to learn how they operate a successful secure network. I also practiced programming a website with my peers on a remote server, this required extensive work with PHP, dreamweaver, and MySQL.
a. Demonstrate knowledge of and proficiency in data representation and abstraction
i. Effectively use primitive data types (string, numbers, value types)
Linked in the evidence is a document with primitive data types showing different functions allowing a user input information into a form and receive back some type of response from the code.
Evidence 1.A i
ii. Demonstrate an understanding of static and dynamic data structures
To demonstrate understanding on static and dynamic data structures I attached an example of static code that I wrote and dynamic code that I wrote. More explanation into to how the examples display dynamic and static code is documented in the attached evidence.
Evidence 1.A ii
iii. Effectively use, manipulate, and explain various external data stores various types (text, images, sound, etc.), various locations (local, server, cloud), etc.
This is a video about the Indiana School of Education technology staff. The video goes over a possible concern or problem that the staff may need to address. The topic is external data storage for students and faculty who want to save or transfer their work. The video goes over the numerous ways to address this concern.
Evidence 1.A iii
iv. Effectively use modeling and simulation to solve real-world problems
This is a graphic relating the construction of a house to object oriented programming. The students can use this graphic as a model of how object oriented code is organized. Once students are able to comprehend how OOP is organized they can effectively begin solving real-world problems using this high level programming paradigm. A potential activity that students could do using this graphic may be to create a database for the construction of a home, the students could then categorize the different types of contractors that they would need to build the house, this example can be used both literally and figuratively with OOP.
Evidence 1.A iv
b. Effectively design, develop, and test algorithms
i. Using a modern, high-level programming language, construct correctly functioning programs involving simple and structured data types; compound boolean expressions; and sequential, conditional, and iterative control structures
This is a portion of the standard that I have some practice with yet do not feel particularly strong in. For my evidence I linked functions that I wrote that display both simple and structured data types. To improve upon this substandard I will review online resources covering these different data-types.
Evidence 1.B.i
ii. Design and test algorithms and programming solutions to problems in different contexts (textual, numerical, graphic, etc.) using advanced data structures
These examples use advanced php data structures that run calculations on a server computer and output a number or text to the user. Functions allow for a programmer to have sleeker more sophisticated code because the function code does not visually show up in the open file. Problem one is a html form and php form that posts a greeting to a specific username entered in the web browser. Problem two is a calculator for basic algorithms with two integers entered. Problem five is a form that searches text for a particular event then gives an output in the browser to the user.
Evidence 1.B.ii
iii. Analyze algorithms by considering complexity, efficiency, aesthetics, and correctness
This is another area that I am working on, I am always considering principles of design while I am working on computer code. First I contemplate the purpose or scope of the project. Next thinking about the development which draws to focus aesthetics and efficiency. Lastly considering stability and the correctness of the code. For my evidence I included some exercises where I explain how the sequence and lines of code operate to complete an algorithm.
Evidence 1.B.iii
iv. Demonstrate knowledge of two or more programming paradigms
In my computer educator program we did web scripting with PHP and the two programming paradigms we used were procedural and object oriented programming. I demonstrate my knowledge of OOP by explaining what it is and explaining the different components of OOP and why it is beneficial to use this type of paradigm. I demonstrate knowledge of procedural programming in evidence 1.B.ii.
Evidence 1.B.iv
v. Effectively use two or more development environments
When creating our class website we ran code in the local servers on the individual workstation computers then transferred the code to a remote server to test if it would run properly.
Evidence 1.B.v
vi. Demonstrate knowledge of varied software development models and project management strategies
I know that a group of software developers will often use object oriented programming because it uses simple classification and is easier to understand going from one programmer to another. I am still developing this substandard and looking for opportunities to learn more about software development models and project management strategies.
In Progress
c. Demonstrate knowledge of digital devices, systems, and networks
i. Demonstrate an understanding of data representation at the machine level
Data is represented through an intricate process of machine components working together. To demonstrate my understanding I linked an example of how data is represented at the machine level when using an application such as Microsoft Word.
Evidence 1.C.i
ii. Demonstrate an understanding of machine-level components and related issues of complexity
For this standard I linked a practice assignment I worked on in one of my computer science classes. I demonstrated understanding of machine level components by discussing how a computer functions during an activity such as typing on a word document. I also explain the complex process and parts involved in booting up a computer.
Evidence 1.C.ii
iii. Demonstrate an understanding of operating systems and networking in a structured computer system
This is a video that I made about operating systems and how they work including the components and structure within a the computer. This video addresses the inner networking of the computer and how it has multiple levels that are important in understanding how the computer functions. This video was targeted for intermediate grade levels but can also be good introduction to operating systems for older students because it touches on many important aspects of a structured computer system.
Evidence 1.C.iii
iv. Demonstrate an understanding of the operation of computer networks and mobile computing devices
For this substandard I demonstrated an understanding in evidence of how computer networks operate. I used the computer lab I worked in during my program as an example of a local network. I am still building an understanding of how mobile computing devices work, I am seeking out educational opportunities to learn more about this topic.
Evidence 1.C.iv (Partially Completed)
d. Demonstrate an understanding of the role computer science plays and its impact in the modern world
i. Demonstrate an understanding of the social, ethical, and legal issues and impacts of computing, and attendant responsibilities of computer scientists and users
This substandard is very relevant to computer scientist navigating many new territories relating to user privacy. Many companies wanting to get ahead are putting pressure on computer scientists to track and share more and more of their users data, it is hard to know where the line should be drawn and I believe this is a topic that is still up for debate. This is a substandard that I am still "in progress" with because I believe there is a lot happening in real time relating to this topic. One way I could talk to my students about this would be discussing news stories and court cases relating to digital issues.
In Progress
ii. Analyze the contributions of computer science to current and future innovations in sciences, humanities, the arts, and commerce
To complete this substandard I took a look at the path that computer science has taken since the start of the field. Then l discussed with my colleagues/peers the impact that the past innovations have had on the sciences, humanities, arts, and commerce and what we can anticipate for future impacts by making these comparisons. We also had an interesting discussion about what was the most significant innovation to computer science through the years. Predicting future innovations is a challenging topic since the field of computer science is rapidly progressing and expanding and becoming more apart of our everyday lives.
Evidence 1.D.ii
2. Effective teaching and learning strategies: Computer Science Educators demonstrate effective content pedagogical strategies that make the discipline comprehensible to students.
Computer Science is a challenging area to study this makes it extremely important that instructors in the content area use effective pedagogical strategies that allow students to grasp the material. Computer Science content needs to be scaffolded and taught in small lessons each building upon existing knowledge.
a. Plan and teach computer science lessons/units using effective and engaging practices and methodologies
i. Select a variety of real-world computing problems and project-based methodologies that support active and authentic learning and provide opportunities for creative and innovative thinking and problem solving
ii. Demonstrate the use of a variety of collaborative groupings in lesson plans/units and assessments
iii. Design activities that require students to effectively describe computing artifacts and communicate results using multiple forms of media
This is a webpage that I and a team member constructed to help engage students in the topic of object oriented programming. After having the students view the content I would have them take the quiz at the end of the page to see if they absorbed the lesson or need to go back and review content. Then in addition to the quiz to assess the students understandin as an in class activity and authentic assessment I would have the students work in groups to make up their own real world OOP scenario. The students would make it into a visual presentation to share with the class, this way the teacher can evaluate if the students are fully grasping the concept.
Evidence 2.A.i/ii/iii
v. Identify problematic concepts and constructs in computer science and appropriate strategies to address them
This is a website that I helped construct, it is designed for high school students in a computer science class, bits and pieces can be applicable to many grade levels of computer science education. The page shown in the image is a resource page where students can look for frequently asked questions and get the help they need to progress their knowledge. The site has many tools to help the students learn complex topics and offers resources as well as ways to test content knowledge.
Evidence 2.A.v
iv. Develop lessons and methods that engage and empower learners from diverse cultural and linguistic backgrounds
vi. Design and implement developmentally appropriate learning opportunities supporting the diverse needs of all learners
These are applications that I would use to supplement classroom lessons for learners who need to use a little extra assistance in order to learn to the content and also learners from diverse cultural and linguistic backgrounds. These are all easily accessible and user friendly applications from the iPad. Having tools like these in the classroom can help minimize frustration from students who have an impairment, learning disability, or language barrier. The first application would be good to use in an elementary classroom and the second two are good for any level learner and language background.
Evidence 2.A.vi/iv
vii. Create and implement multiple forms of assessment and use resulting data to capture student learning, provide remediation, and shape classroom instruction
This is an online rubric that I created for an example lesson that I would have students do in an elementary classroom. This tool also allows you to have students take surveys and polls so that the instructor can see where the students are at. Once teachers have gathered this information from the admin page they can decide what needs to be reviewed.
Evidence 2.A.vii
3. Effective learning environments: Computer Science Educators apply their knowledge of learning environments by creating and maintaining safe, ethical, supportive, fair, and effective learning environments for all students
As for any educator it is important that learning environments be created safe, ethical, supportive, fair, and effective for all students. Without all the factors of a balanced learning environment students cannot reach their fullest potential.
a. Design environments that promote effective teaching and learning in computer science classrooms and online learning environments and promote digital citizenship
i. Promote and model the safe and effective use of computer hardware, software, peripherals, and networks
This is a prezi for students and parents about how to navigate the online world in a safe and effective way. Students will learn what is acceptable for use and how to use the computer and its resources as an effective tool.
This is a funny poster that a computer science teacher may post in the lab to remind students about healthy computer use. It is important in addressing this standard that physical health does play a part in safe and effective computer use for students. Computer science requires a heavy amount of time on the computer and we need to remind students that this needs to be balanced with a healthy lifestyle so that they are not at risk for computer related health issues.
Evidence 3.A.i
ii. Plan for equitable and accessible classroom, lab, and online environments that support effective and engaging learning
This is a prezi that is made for parents to view, the presentation is about cyberbullying, the who, what, where, how, and everything parents need to know. I think the best way to create a positive classroom environment is to educate the students and parents alike because as soon as the students go home the teacher is no longer there to monitor them and what they are doing on the computer. When students feel safe in their learning environment and free from harassment they are in a place more conducive to learning.
Evidence 3.A.ii
4. Effective professional knowledge and skills: Computer Science Educators demonstrate professional knowledge and skills in their field and readiness to apply them
Computer Science Educators must display that they have the necessary professional knowledge to continue their growth in the field. Computer Science Educators may gain this professional knowledge through their engagement in professional networks and seeking out opportunities for professional development. After acquiring this knowledge Computer Science Educators must be prepared to apply what they have learned to their instructional methods and curriculum.
a. Participate in, promote, and model ongoing professional development and life-long learning relative to computer science and computer science education
i. Identify and participate in professional computer science and computer science education societies, organizations, and groups that provide professional growth opportunities and resources
This is one of the online professional computer science education communities that I participate in, it helps me keep up to date and connected to other educators. Being apart of an online community like this is really important in a rapidly progressing field such as computer science because it allows me to address and respond to new concerns that may come up in the field.
Evidence 4.A.i
ii. Demonstrate knowledge of evolving social and research issues relating to computer science and computer science education
Here I posted on a blog, posing a question about Linux. Online communities especially with experts are a great to consult with when deciding what kind of material, hardware, or software you want to introduce in the classroom. You can also address whether something is relevant and important in modern computer science education. Displayed is the response that I got back from the question that I posed on one of my online communities. I found "Ask a Tech Teacher" blog to be very helpful relevant and applicable to the computer science classroom. Getting conversations like this going is essential for a computer science teacher who is looking to stay at the forefront of education technology.
Evidence 4.A.ii
iii. Identify local, state, and national content and professional standards and requirements affecting the teaching of secondary computer science
This was the Statewide IT conference that I attended in 2012 when it was last most recently held. At the conference topics about new technology and security concerns were covered and discussed. Changes that were occurring on a nation, state, and local level were addressed.
Evidence 4.A.iii