Explain that Java’s return is like a platter where you can hand information between methods to help students create a concrete mental model for an often tricky subject. Share Explain that Java’s return is like a platter where you can hand information between methods to help students create a concrete mental model for an often tricky subject. with FacebookShare Explain that Java’s return is like a platter where you can hand information between methods to help students create a concrete mental model for an often tricky subject. with Twitter
Use tupperware containers and act out being the computer to teach students how in CS variables and statements like x=x+1 are different than variables and equations in math by creating a meaningful visualization. Share Use tupperware containers and act out being the computer to teach students how in CS variables and statements like x=x+1 are different than variables and equations in math by creating a meaningful visualization. with FacebookShare Use tupperware containers and act out being the computer to teach students how in CS variables and statements like x=x+1 are different than variables and equations in math by creating a meaningful visualization. with Twitter
Have students make a multiplication table to practice working with 2D arrays, nested loops, and abstraction using a data construct they’re already familiar with. Share Have students make a multiplication table to practice working with 2D arrays, nested loops, and abstraction using a data construct they’re already familiar with. with FacebookShare Have students make a multiplication table to practice working with 2D arrays, nested loops, and abstraction using a data construct they’re already familiar with. with Twitter
Use descriptive variable names to model good naming practice so that students learn the value of descriptive names. Share Use descriptive variable names to model good naming practice so that students learn the value of descriptive names. with FacebookShare Use descriptive variable names to model good naming practice so that students learn the value of descriptive names. with Twitter
Show code where the name of the method’s actual arguments and formal parameters are different so students see first hand that these two items don’t have to match for code to execute and improve their understanding of scope. Share Show code where the name of the method’s actual arguments and formal parameters are different so students see first hand that these two items don’t have to match for code to execute and improve their understanding of scope. with FacebookShare Show code where the name of the method’s actual arguments and formal parameters are different so students see first hand that these two items don’t have to match for code to execute and improve their understanding of scope. with Twitter
Show students many examples so they see that Java passes arguments by value to help improve student understanding of scope. Share Show students many examples so they see that Java passes arguments by value to help improve student understanding of scope. with FacebookShare Show students many examples so they see that Java passes arguments by value to help improve student understanding of scope. with Twitter
Put debugging tips inside the test cases when you provide students with JUnit test cases to help students improve their own debugging abilities in Java. Share Put debugging tips inside the test cases when you provide students with JUnit test cases to help students improve their own debugging abilities in Java. with FacebookShare Put debugging tips inside the test cases when you provide students with JUnit test cases to help students improve their own debugging abilities in Java. with Twitter
Explain how inheritance allows the Java toString method to work when teaching printing to help students develop an understanding for how everything in Java is an object that has hierarchical relationships with other objects. Share Explain how inheritance allows the Java toString method to work when teaching printing to help students develop an understanding for how everything in Java is an object that has hierarchical relationships with other objects. with FacebookShare Explain how inheritance allows the Java toString method to work when teaching printing to help students develop an understanding for how everything in Java is an object that has hierarchical relationships with other objects. with Twitter
Draw arrows with memory address numbers written over them from Java objects to their corresponding memory address to help students connect memory models to the actual hardware process. Share Draw arrows with memory address numbers written over them from Java objects to their corresponding memory address to help students connect memory models to the actual hardware process. with FacebookShare Draw arrows with memory address numbers written over them from Java objects to their corresponding memory address to help students connect memory models to the actual hardware process. with Twitter
Spend extra time covering these three topics students have a really hard time with in Java: references and primitives, inheritance, and nested loops. Share Spend extra time covering these three topics students have a really hard time with in Java: references and primitives, inheritance, and nested loops. with FacebookShare Spend extra time covering these three topics students have a really hard time with in Java: references and primitives, inheritance, and nested loops. with Twitter
Use CodingBat problems to supplement Java and Python curricula to give students more practice. Share Use CodingBat problems to supplement Java and Python curricula to give students more practice. with FacebookShare Use CodingBat problems to supplement Java and Python curricula to give students more practice. with Twitter
Teach Processing first and then transition students to Java so they have a transition to a professional level programming language in a relatively seamless manner. Share Teach Processing first and then transition students to Java so they have a transition to a professional level programming language in a relatively seamless manner. with FacebookShare Teach Processing first and then transition students to Java so they have a transition to a professional level programming language in a relatively seamless manner. with Twitter
Use Practice-It as supplementary Java problems for an introductory programming course to give students more practice. Share Use Practice-It as supplementary Java problems for an introductory programming course to give students more practice. with FacebookShare Use Practice-It as supplementary Java problems for an introductory programming course to give students more practice. with Twitter
Show students what code looks like with and without switch statements to motivate the reasons for using them. Share Show students what code looks like with and without switch statements to motivate the reasons for using them. with FacebookShare Show students what code looks like with and without switch statements to motivate the reasons for using them. with Twitter
Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax. Share Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax. with FacebookShare Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax. with Twitter
Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages. Share Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages. with FacebookShare Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages. with Twitter
Have students sort specific topics in computer science into broader categories in an activity that uses index cards to give them a big-picture understanding of concepts they are learning. Share Have students sort specific topics in computer science into broader categories in an activity that uses index cards to give them a big-picture understanding of concepts they are learning. with FacebookShare Have students sort specific topics in computer science into broader categories in an activity that uses index cards to give them a big-picture understanding of concepts they are learning. with Twitter
Teach Alice in introductory programming courses as a precursor to object-oriented programming languages, like Java, to make OOP fun and interesting for beginners to learn. Share Teach Alice in introductory programming courses as a precursor to object-oriented programming languages, like Java, to make OOP fun and interesting for beginners to learn. with FacebookShare Teach Alice in introductory programming courses as a precursor to object-oriented programming languages, like Java, to make OOP fun and interesting for beginners to learn. with Twitter
Meet with students one-on-one to help them develop a Java class in order to clarify basic concepts and increase their confidence with object-oriented programming. Share Meet with students one-on-one to help them develop a Java class in order to clarify basic concepts and increase their confidence with object-oriented programming. with FacebookShare Meet with students one-on-one to help them develop a Java class in order to clarify basic concepts and increase their confidence with object-oriented programming. with Twitter
Emphasize to students that nitty-gritty details are not important for understanding fundamental principles of computer science to motivate students to focus on their big picture understanding. Share Emphasize to students that nitty-gritty details are not important for understanding fundamental principles of computer science to motivate students to focus on their big picture understanding. with FacebookShare Emphasize to students that nitty-gritty details are not important for understanding fundamental principles of computer science to motivate students to focus on their big picture understanding. with Twitter