Showing posts with label APCS-2016. Show all posts
Showing posts with label APCS-2016. Show all posts

Wednesday, June 28, 2017

AP Computer Science 2016-2017: Life After CompSci? (June)

AP Computer Science 2016-2017:
Life After CompSci?
(June)
Bye Bye, AP CompSci period 6! 
I hope you keep on coding!

Life is a lot more laid back around here now that the AP Exam is over! Every Monday and Friday we play set up a FLOSS LAN Party! Tuesday-Thursday every week after the exam is devoted to our final project. I was going to have the students help me to come up with a new project to add to each lab we did this year using openProcessing. Repl.it came up with a free online course on React Native, so we are trying that out first.


AP CompSci Pep Talk 2017
The best way to learn how to code is to watch someone else code and try to do some coding yourself everyday! That's what I try to provide for you in class.

Also, the best way to succeed on the AP CompSci Exam is to read and write code everyday even at home! You should be playing around with c9.io or repl.it everyday now that we have a server we can use in class and at home! 

You also need to get the latest Barron's Review book and read and write a little code in there everyday. You should be reading our textbook ppts and trying our lab pdfs everyday! 

Just a little advice from your friendly neighborhood CompSci teacher who's been coding for over 40 years!

Backgound
Ever since the 1995-1996 school year when Linux came out, I have always provided my students with a sftp/ssh server they could log into in class and from home. This was a great solution for us as students could work on labs in class, in extra help, in the library and at home. This made our workflow very efficient so that we could do a lot of programming assignments in a short amount of time. I'm used to giving my students a lot of lab time and coding practice in class everyday as well!

In recent years, my district has hired out our tech services to some off campus "experts" in IT and Cyber Security. This new "Tech Dept" has found fit, in its infinite wisdom, to change the school's internet firewall in such a way so as not to permit ssh tunnels in or out of campus. My pleas to the contrary fell on deaf ears, I'm afraid! So, now my students cannot login from home. I've been struggling with alternate solutions involving Teamviewer, SplashTop and Chrome Remote Desktop just to name a few. These experiments have had varying degrees of success, but still no joy.

This semester I started playing around wih online java IDEs. I tried many and found Cloud9 actually provided an online Ubuntu terminal very much like what we use in class. However, javac is no longer installed and customer service is not very helpful....

Cloud9 is free. However, if you want to setup a teacher account, it costs a modest $1 per month.

Why would you pay if it's free? The problem with cloud9 is the registration process. They require a credit card for identification purposes.

Students can join your Team without a credit card if you have a Teacher Account.

One way around the credit card issue is to audit the CS50 course at cs50.edx.org and then use their version of c9.io via cs50.io instead! Most of the work we do all year is text based, these servers will do! BTW, I think could9 is running on the Amazon cloud.

Regarding the APCS Labs (Magpie, etc), I still have my local sftp linux server in class for GUI and graphical work.

Also, if we want to play with graphics we could use https://www.openprocessing.org 

I may want to download the Processing IDE directly to my Linux Desktop from https://processing.org

I'm used repl.it for last year (2016-2017) as my students are doing well with it and it's easy to share code on my SmartBoard as I teach.

If you are not using cs50.io but c9.io directly, you can install default-jdk (openjdk) from the commandline much as you do in a standard Ubuntu terminal with apt-get. Here's an example of some coding I did, https://ide.c9.io/calcpage/rot13

If you want to play with c9 you can make one workspace for the whole year, just make a new directory (aka folder) for each project,

Also, make a "custom workspace" by clicking on the Ubuntu icon. They have different workspaces for c++, python, html website dev, etc.

Your Custom Workspace is basically a plain vanilla install of Ubuntu (virtual machine like Harvard's CS50 uses) that works over a web interface.

Do this once in the bash terminal:

sudo apt-get update
sudo apt-get install default-jdk

This installs the latest version of openjdk from the debian repositories which is fine for text based work.

We did play around with https://repl.it and found it very useful. Students get their own free accounts. Students can store their work with revision histories. Students get a text editor with syntax completion and syntax color highlights (simple java IDE). Students get an ASCII terminal for output. You can use a variety of programming languages and you can share your work! 

Teachers can get a teacher account where they can set up online classrooms and assignments but I haven't done that. I'm using my account as the students do. Each new project is saved as a separate session. Each session can have multiple files and classes. One thing to watch out for is that the main method has to be in Main.java in the Main class. 


YouTube Wednesday: SymphonyOfScience!

Well, that's all folks,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT

Sunday, May 21, 2017

AP Computer Science 2016-2017: Life After CompSci? (May)

AP Computer Science 2016-2017:
Life After CompSci?
(May)


As you can see above in a screen capture from edmodo, life is a lot more laid back around here now that the AP Exam is over! Every Monday and Friday we play set up a FLOSS LAN Party! Tuesday-Thursday every week after the exam is devoted to our final project. I was going to have the students help me to come up with a new project to add to each lab we did this year using openProcessing. However, Repl.it came up with a free online course on React Native, so we are trying that out first.


AP CompSci Pep Talk 2017
The best way to learn how to code is to watch someone else code and try to do some coding yourself everyday! That's what I try to provide for you in class.

Also, the best way to succeed on the AP CompSci Exam is to read and write code everyday even at home! You should be playing around with repl.it everyday now that we have a server we can use in class and at home! 

You also need to get the latest Barron's Review book and read and write a little code in there everyday. You should be reading our textbook power points and trying our lab pdfs everyday! 

Just a little advice from your friendly neighborhood CompSci teacher who's been coding for over 40 years!

Backgound
Ever since Linux came out (1995?), I have always provided my students with a sftp/ssh server they could log into in class and from home. This was a great solution for us as students could work on labs in class, in extra help, in the library and at home. This made our workflow very efficient so that we could do a lot of programming assignments in a short amount of time. I'm used to giving my students a lot of lab time and coding practice everyday!

In recent years, my district has hired out our tech services to some off campus "experts" in IT and Cyber Security. This new "Tech Dept" has found fit, in its infinite wisdom, to change the school's internet firewall in such a way so as not to permit ssh tunnels in or out. My pleas to the contrary falling on deaf ears. So, now my students cannot login from home. I've been struggling with alternate solutions involving Teamviewer, SplashTop and Chrome Remote Desktop just to name a few. These experiments have had varrying degrees of success but still no joy.

This semester I started playing around wih online java IDEs. I tried many and found Cloud9 actually provided an online Ubuntu terminal very much like what we use in class. However, javac is no longer installed and customer service is not very helpful....

cloud9 is free. However, if you want to setup a teacher account, it costs a modest $1 per month.

Why would you pay if it's free? The problem with cloud9 is the registration process. They require a credit card for identification purposes.

Students can join your Team without a credit card if you have a Teacher Account.

Regarding the APCS Labs (Magpie, etc), I still have my local sftp linux server in class for GUI and graphical work.

Most of the work we do all year is more text based, so using https://repl.it or https://c9.io would be fine.

Also, if we want to play with graphics we could use https://www.openprocessing.org/

I'm sticking with repl.it for now as my students are doing well with it and it's easy to share code on my SmartBoard as I teach.

c9 is hard to see on the SmartBoard. You can increase font size in the text editor but not in the terminal???

Actually, you can install default-jdk (openjdk) from the commandline much as you do in a standard Ubuntu terminal with apt-get. Here's an example of some coding I did, https://ide.c9.io/calcpage/rot13

If you want to play with c9 you can make one workspace for the whole year, just make a new directory (aka folder) for each project,

Also, make a "custom workspace" by clicking on the Ubuntu icon. They have different workspaces for c++, python, html website dev, etc.

Your Custom Workspace is basically a plain vanilla install of Ubuntu (virtual machine like Harvard's CS50 uses) that works over a web interface.

So, jdk is not installed. Do this once in the terminal (aka commandline):

sudo apt-get update

sudo apt-get install default-jdk

This installs the latest version of openjdk from the debian repositories which is fine for text based work.

However, we did play around with https://repl.it and found it very useful. Students get their own free accounts. Students can store their work with revision histories. Students get a text editor with syntax completion and syntax color highlights (simple java IDE). Students get an ASCII terminal for output. You can use a variety of programming languages too. 

Teachers can get a teacher account where they can set up online classrooms and assignments but I haven't done that. I'm using my account as the students do. Each new project is saved as a separate session. Each session can have multiple files and classes. One thing to watch out for is that the main method has to be in Main.java in the Main class. 

Last, but not least, you can share a live instance of any particular revision of any session you want complete with editor, terminal and runner. Here's an example, https://repl.it/GLAC/93


YouTube Wednesday: SymphonyOfScience!

Well, that's all folks,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT

Saturday, April 29, 2017

AP Computer Science 2016-2017: Recursion & Sorting Algorithms (April)

AP Computer Science 2016-2017:
Recursion & Sorting Algorithms
(April)

We are now done with the course! We finished CH10 Inheritance, CH11 Polymorphism, CH19 Recursion and CH20 Searching and Sorting Algorithms! The post on all this is below. First, let's have our Pep Talk again:

AP CompSci Pep Talk 2017
The best way to learn how to code is to watch someone else code and try to do some coding yourself everyday! That's what I try to provide for you in class.

Also, the best way to succeed on the AP CompSci Exam is to read and write code everyday even at home! You should be playing around with repl.it everyday now that we have a server we can use in class and at home! 

You also need to get the latest Barron's Review book and read and write a little code in there everyday. You should be reading our textbook power points and trying our lab pdfs everyday! 

Just a little advice from your friendly neighborhood CompSci teacher who's been coding for over 40 years!

Backgound
Ever since Linux came out (1995?), I have always provided my students with a sftp/ssh server they could log into in class and from home. This was a great solution for us as students could work on labs in class, in extra help, in the library and at home. This made our workflow very efficient so that we could do a lot of programming assignments in a short amount of time. I'm used to giving my students a lot of lab time and coding practice everyday!

In recent years, my district has hired out our tech services to some off campus "experts" in IT and Cyber Security. This new "Tech Dept" has found fit, in its infinite wisdom, to change the school's internet firewall in such a way so as not to permit ssh tunnels in or out. My pleas to the contrary falling on deaf ears. So, now my students cannot login from home. I've been struggling with alternate solutions involving Teamviewer, SplashTop and Chrome Remote Desktop just to name a few. These experiments have had varrying degrees of success but still no joy.

This semester I started playing around wih online java IDEs. I tried many and found Cloud9 actually provided an online Ubuntu terminal very much like what we use in class. However, javac is no longer installed and customer service is not very helpful....

cloud9 is free. However, if you want to setup a teacher account, it costs a modest $1 per month.

Why would you pay if it's free? The problem with cloud9 is the registration process. They require a credit card for identification purposes.

Students can join your Team without a credit card if you have a Teacher Account.

Regarding the APCS Labs (Magpie, etc), I still have my local sftp linux server in class for GUI and graphical work.

Most of the work we do all year is more text based, so using https://repl.it or https://c9.io would be fine.

Also, if we want to play with graphics we could use https://www.openprocessing.org/

I'm sticking with repl.it for now as my students are doing well with it and it's easy to share code on my SmartBoard as I teach.

c9 is hard to see on the SmartBoard. You can increase font size in the text editor but not in the terminal???

Actually, you can install default-jdk (openjdk) from the commandline much as you do in a standard Ubuntu terminal with apt-get. Here's an example of some coding I did, https://ide.c9.io/calcpage/rot13

If you want to play with c9 you can make one workspace for the whole year, just make a new directory (aka folder) for each project,

Also, make a "custom workspace" by clicking on the Ubuntu icon. They have different workspaces for c++, python, html website dev, etc.

Your Custom Workspace is basically a plain vanilla install of Ubuntu (virtual machine like Harvard's CS50 uses) that works over a web interface.

So, jdk is not installed. Do this once in the terminal (aka commandline):

sudo apt-get update

sudo apt-get install default-jdk

This installs the latest version of openjdk from the debian repositories which is fine for text based work.

However, we did play around with https://repl.it and found it very useful. Students get their own free accounts. Students can store their work with revision histories. Students get a text editor with syntax completion and syntax color highlights (simple java IDE). Students get an ASCII terminal for output. You can use a variety of programming languages too. 

Teachers can get a teacher account where they can set up online classrooms and assignments but I haven't done that. I'm using my account as the students do. Each new project is saved as a separate session. Each session can have multiple files and classes. One thing to watch out for is that the main method has to be in Main.java in the Main class. 

Last, but not least, you can share a live instance of any particular revision of any session you want complete with editor, terminal and runner. Here's an example, https://repl.it/GLAC/93


CH10+11+19+20
We are now done with the course! We finished CH10 Inheritance, CH11 Polymorphism, CH19 Recursion and CH20 Searching and Sorting Algorithms! Chapters 10+11 were covered with a reading from our text and two take home exams. We've been covering these topics all year! LAB18/CH19 about recursion is covered in the video above. We wrote our own Math class comparing iterative and recursive algorithms. CH20 about searching and sorting was also a reading but it's also covered in the Youtube Wednesday below! We also watched and National Geographic video from 1984: "Miniature Miracle: The Computer Chip." This video is not on Youtube, sorry. I copied to DVD from VHS and show it every year! I used to have it on Youtube, but I was asked to take it down...


YouTube Wednesday: Sorting Out Sorting!










Teaching With Technology,
AJG

Well, that's all folks,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT

Friday, March 31, 2017

AP Computer Science 2016-2017: More Arrays and AP Pep Talk (March)

AP Computer Science 2016-2017:
More Arrays and AP Pep Talk
(March)

Believe it or not, we spent most of March on ArrayLists! So last month's posting, repeated below, still applies. However, this month I would like to share a bit of a pep talk that I gave my AP Computer Science students on Edmodo, enjoy!

AP CompSci Pep Talk 2017
The best way to learn how to code is to watch someone else code and try to do some coding yourself everyday! That's what I try to provide for you in class.

Also, the best way to succeed on the AP CompSci Exam is to read and write code everyday even at home! You should be playing around with repl.it everyday now that we have a server we can use in class and at home! 

You also need to get the latest Barron's Review book and read and write a little code in there everyday. You should be reading our textbook power points and trying our lab pdfs everyday! 

Just a little advice from your friendly neighborhood CompSci teacher who's been coding for over 40 years!

Backgound
Ever since Linux came out (1995?), I have always provided my students with a sftp/ssh server they could log into in class and from home. This was a great solution for us as students could work on labs in class, in extra help, in the library and at home. This made our workflow very efficient so that we could do a lot of programming assignments in a short amount of time. I'm used to giving my students a lot of lab time and coding practice everyday!

In recent years, my district has hired out our tech services to some off campus "experts" in IT and Cyber Security. This new "Tech Dept" has found fit, in its infinite wisdom, to change the school's internet firewall in such a way so as not to permit ssh tunnels in or out. My pleas to the contrary falling on deaf ears. So, now my students cannot login from home. I've been struggling with alternate solutions involving Teamviewer, SplashTop and Chrome Remote Desktop just to name a few. These experiments have had varrying degrees of success but still no joy.

This semester I started playing around wih online java IDEs. I tried many and found Cloud9 actually provided an online Ubuntu terminal very much like what we use in class. However, javac is no longer installed and customer service is not very helpful....

cloud9 is free. However, if you want to setup a teacher account, it costs a modest $1 per month.

Why would you pay if it's free? The problem with cloud9 is the registration process. They require a credit card for identification purposes.

Students can join your Team without a credit card if you have a Teacher Account.

Regarding the APCS Labs (Magpie, etc), I still have my local sftp linux server in class for GUI and graphical work.

Most of the work we do all year is more text based, so using https://repl.it or https://c9.io would be fine.

Also, if we want to play with graphics we could use https://www.openprocessing.org/

I'm sticking with repl.it for now as my students are doing well with it and it's easy to share code on my SmartBoard as I teach.

c9 is hard to see on the SmartBoard. You can increase font size in the text editor but not in the terminal???

Actually, you can install default-jdk (openjdk) from the commandline much as you do in a standard Ubuntu terminal with apt-get. Here's an example of some coding I did, https://ide.c9.io/calcpage/rot13

If you want to play with c9 you can make one workspace for the whole year, just make a new directory (aka folder) for each project,

Also, make a "custom workspace" by clicking on the Ubuntu icon. They have different workspaces for c++, python, html website dev, etc.

Your Custom Workspace is basically a plain vanilla install of Ubuntu (virtual machine like Harvard's CS50 uses) that works over a web interface.

So, jdk is not installed. Do this once in the terminal (aka commandline):

sudo apt-get update

sudo apt-get install default-jdk

This installs the latest version of openjdk from the debian repositories which is fine for text based work.

However, we did play around with https://repl.it and found it very useful. Students get their own free accounts. Students can store their work with revision histories. Students get a text editor with syntax completion and syntax color highlights (simple java IDE). Students get an ASCII terminal for output. You can use a variety of programming languages too. 

Teachers can get a teacher account where they can set up online classrooms and assignments but I haven't done that. I'm using my account as the students do. Each new project is saved as a separate session. Each session can have multiple files and classes. One thing to watch out for is that the main method has to be in Main.java in the Main class. 

Last, but not least, you can share a live instance of any particular revision of any session you want complete with editor, terminal and runner. Here's an example, https://repl.it/GLAC/93


Last Month's Post
(NEW: YouTube Wednesday)

LAB07/CHAP08
Finally, we are ready for Static Arrays and ArrayLists! We started with list traversals using for loops. Our introductory project was Rot13a where we traversed a String as an array of char and ran a Caesar Cypher. Rot13b did the same thing with static int[] arrays. Then we tried Rot13c with dynamic arrays aka ArrayLists!


YouTube Wednesday: Watson on Jeopardy!






Teaching With Technology,
AJG

Well, that's all folks,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT

Tuesday, February 28, 2017

AP Computer Science 2016-2017: Arrays & ArrayLists (February)

AP Computer Science 2016-2017:
Arrays & ArrayLists
(February)


LAB07/CHAP08
Finally, we are ready for Static Arrays and ArrayLists! We started with list traversals using for loops. Our introductory project was Rot13a where we traversed a String as an array of char and ran a Caesar Cypher. Rot13b did the same thing with static int[] arrays. Then we tried Rot13c with dynamic arrays aka ArrayLists!



YouTube Wednesday: Watson on Nova!


Teaching With Technology,
AJG

Well, that's all folks,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT

Tuesday, January 31, 2017

AP Computer Science 2016-2017: For & While Loops (January)

AP Computer Science 2016-2017:
For & While Loops
(January)


LAB06/CHAP07
Last month we took our time finishing Lab05/Chap06 on Conditional Statements, Boolean Expressions, Truth Tables and Predicate Methods! Then we did a WEEK Of Code devoted to Daniel Shiffman's excellent tutorial on Processing. Now we are in the midst of Lab06/Chap07 about Iteration! We are playing around with for and while loops. In fact, we were just calculating Large Mersenne Primes comparing our outputs using int, long and the java.math.BigInteger class.



YouTube Wednesday: Cliff Stoll on Nova!


Teaching With Technology,
AJG

Well, that's all folks,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee


Sage Ebay
TpT