I would like to let you know about an opportunity on our campus – open to the public. From June 1 to July 20, I will be teaching online an advanced AWS Cloud Architecting class. It is of interest to any business considering to move IT operations (fully or partially) to the cloud.
This class is taught in partnership with AWS Academy, and students will have access to AWS resources, labs, materials and will be ready at the end to take the AWS Solutions Architect certification.
CSUCI, in response to the COVID 19 crisis, has generously offered 10 full scholarships for this class, and for everyone else lowered the cost to $1,100. Everyone is welcome to apply for the scholarships – the application is short and available at this link:
Point 1: Don’t think of this move to online teaching as a one-off; this is the new normal. At California State University we have had to move to online teaching practically every year in the last five years: fires (twice), shootings, and now the pandemic. So think of the COVID-19 pandemic as an opportunity to build an online offering that can serve your department and students for years. You should have an online version for all your classes, not only for emergencies, but also to be responsive to the current reality where so many students want online offerings.
Point 2: There are two initial “shifts” in the move to online teaching. First, the pedagogical shift to not teaching in the classroom, where it is easy to connect with students physically present, to read facial expressions and adjust your teaching accordingly, to chat with some of them in person after class. Second, the shift to a different usage of tools, or a different set of tools altogether: Zoom, Canvas, Piazza, MyITLab, Slack, Microsoft Teams, and of course AWS Educate offerings. Both “shifts” require some time; e.g., think of how you are going to compensate for lack of physical presence, and do not start learning Zoom half an hour before the first class.
Point 3: In Point 2 we mentioned the challenge of not having the students physically present; how are you going to compensate for the lack of interaction that you are used to? I use Slack to create a collaborative environment in the class. I dedicate a channel to the course, and include all the students in the channel. Students can interact with me (the instructor), but even more importantly, they can interact with each other, and they do! Here appears one advantage of online teaching: often, as the students sit to write down a difficulty they encounter in the course, by the act of writing it in a public forum, they concentrate more than they do when asking verbally in class, and the question is better formed and often the answer appears in the process. Also, having those interactions recorded in the channel allows us to point them out later if the question comes up again. Further interaction comes by using Zoom on a regular basis, both to teach, and to have office hours / question periods.
Point 4: In Point 2 we mentioned the challenge of shifting to a new set of tools. For Computer Science faculty this is relatively easy from the technical perspective. We are familiar with cloud-based tools, and our students like IT tools, and so the move is seamless. What can be problematic is how these tools are deployed; that is, the heavy reliance on these tools can make the course about them instead of making them ancillary to the objective of the course. The solution here is to explain, or even better automate, the aspects of the tools that are not intrinsic to the topic being taught. For example, we use AWS Educate accounts to teach our Computer Architecture class (COMP 262), a sophomore course where student learn about different microprocessor architectures and assembler level programming. Being able to deploy AMI (Amazon Machine Images) with certain architectures frees the student to concentrate on the point of the exercise: the differences in architecture.
Point 5: It is important to be creative. More material can be taught successfully online than one would expect. For example, we have a senior elective in “mobile robotics” (COMP 470), which includes a lot of hands on lab work. It may seem hopeless to simulate such a course online, but it is not – we used the material in AWS Educate RoboMaker class to create virtual labs. Students can be given the relatively inexpensive robots (e.g., Amazon Deep Racer, ~$300 each), and participate in a lab by doing the hands-on activity at home, but testing and competing in a virtual environment in the cloud.
Point 6: Do not think of online teaching as simulating classroom teaching. It is a different entity, with its advantages and disadvantages; concentrate on the advantages. For example, simply using Zoom to deliver a lecture at the same times as a regular lecture won’t do. Your lecture will be dry, you will feel frustrated as you feel as if you were talking into your own screen instead of a classroom full of students. Use Zoom to create an interactive environment, including quizzes (there are some nice tools to deliver interactive quizzes which always awaken a sense of fun competition along students; e.g., Kahoots, Quizzez), Zoom breakout rooms, question and answer sessions, presentations by students, etc.
Point 7: Grading has to be changed. For example, rely more on assignments, as in a final assignment rather than a final exam. Tests and exams can still be given, but I would suggest to give them as multiple-choice quizzes with limited times per question, in order not to make them exercises in who can Google-search faster.
Point 8: In my experience online teaching has to be very well structured and organized, and the communication with the class has to be excellent: frequent, repetitive and complete. Students should know exactly what they need to do each week, and where to go with questions.
Point 9: Communicate enjoyment, passion and enthusiasm for the material. One of the most important roles of a teacher is to reassure the student that time spent with you, and the effort required to master your difficult material, is a worthy pursuit. Tell the students what is the treasure that they will possess upon completion, what we dryly call SLO (Student Learning Outcomes), but which is the raison d’être for your course. Present your online offering not as “the 2nd best given the circumstances”, but rather as a great opportunity to work with others in an online setting – remember, this is the direction in which the IT world is moving, and students will benefit greatly from having the experience of being self-motivating, accountable and working with others online.
Point 10 (Bonus for Comp Sci instructors): Some material can be taught very easily online. For example, I prefer to teach programming classes in a blended online environment, even when we do not have a crisis! The reason is that Amazon Cloud9 is a perfect cloud-based IDE (Integrated Development Environment) that has many advantages over a machine-in-a-lab IDE: first, everyone has exactly the same environment, which I can customize to the needs of the course as precisely as I choose, and everyone can access this environment independently of the type of computer they have, as all it requires is a wi-fi connection and a browser. It also allows me to enter the environment from the “outside”, and code with the student watching my changes. This is really fantastic!
Recently, Computer Science at CI, has made several new connections with AWS:
We are an approved member of the AWS Academy and we are authorized to deliver the AWS Academy Cloud Computing Architecture curriculum. I am the Central Point of Contact (CPOC), so if anyone is interested in being nominated to be an AWS Academy instructor at CI, please get in touch with me. [letter]
We are part of the AWS Educate initiative, and we were able to offer our COMP 529 students accounts with some credit. Note that an issue with AWS training accounts is that they close after the course is finished; to those students who are able, I would suggest to open your own (or your company’s) account so that as you learn the material you can build your own permanent infrastructure. A compromise is to build the initial infrastructure on a training account, and use “CloudFormation” to export it for re-instatement elsewhere.
As I am working through the AWS Academy Cloud Computing Architecture – Instructor Accreditation, we are going to offer COMP 529, our Cloud Computing course in the Computer Science masters program, using the AWS curriculum. This is a service offered through the AWS Academy. The students who complete the course will be ready to take the AWS Cloud Solutions Architect certification.
The first lecture will be on Thursday January 24, 2019, in Sierra Hall 1131 (the Computer Science Networking & Security Lab).
The White House announced on Monday new initiatives to bolster computer science in K–12 education.
Citing the rapidly expanding demand for technology jobs, the Obama administration outlined new efforts by two federal agencies: The National Science Foundation plans to spend $20 million on computer science education in 2017, on top the the $25 million it spent in 2016, with an emphasis on training teachers.
And the National Science and Technology Council will create a framework to help guide federal efforts “to support the integration of computer science and computational thinking into K–12 education,” according to Monday’s release.
The two agencies’ efforts, it said, will complement the Obama administration’s wider efforts to expand science, technology, engineering and math (STEM) in education.
The White House announcement comes in conjunction with new commitments to computer science education by 250 organizations, including Bootstrap, STEMteachersNYC and the American Association of Physics Teachers.
Other announcements include Google’s new computer science career prep program for college students and the University of North Texas’s partnership with the Perkins School for the Blind and the California School for the Blind.
Computer science is playing an increasingly large role in STEM — nearly two-thirds of all STEM jobs require computing skills. Despite the large need and an overwhelming desire by parents for their children to learn computer science, only about 40 percent of schools offer classes on the subject.
A logger sells a truckload of lumber for $100. His cost of production is 4/5 of the price. What is his profit?
2. Teaching Maths In 1970s
A logger sells a truckload of lumber for $100. His cost of production is 4/5 of the price, or $80. What is his profit?
3. Teaching Maths In 1980s
A logger sells a truckload of lumber for $100. His cost of production is $80. Did he make a profit ? Yes or No
4. Teaching Maths In 1990s
A logger sells a truckload of lumber for $100. His cost of production is $80 and his profit is $20. Your assignment: Underline the number 20.
5. Teaching Maths In 2000s
A logger cuts down a beautiful forest because he is selfish and inconsiderate and cares nothing for the habitat of animals or the preservation of our woodlands. He does this so he can make a profit of $20. What do you think of this way of making a living?
Topic for class participation after answering the question: How did the birds and squirrels feel as the logger cut down their homes? (There are no wrong answers, feel free to express your feelings e.g, anger, anxiety, inadequacy, helplessness etc.)
Should you require debriefing at conclusion of exam there are counsellors available to assist you to adjust back into the real world.
A palindrome is a word or expression that reads the same forward as backward; a famous palindrome is “madam i m adam”, from James Joyce’s Ulysses. Another one is the word “racecar”. Yet another very famous one is in the title of NOVA’s “A Man, a Plan, a Canal – Panama!”. They are interested for computer scientists as they are strings with many properties (my book “An Introduction to the Analysis of Algorithms” has a section on algorithms for palindromes). But they are much more than games; nature uses them, and for example many DNA strands in our genetic code are palindromic.
In the Fall 2015 I will be teaching a course, COMP 454, that will be using palindromes as an example of many computational properties.
In the Spring 2015 I will teach a graduate course in Algorithms. This course is an introduction to the art of algorithm analysis, intended for both Computer Science and Mathematics students. It will cover the main families of algorithms: Greedy, Dynamic Programming, Divide and Conquer, Online, and Randomized. The course will present all the necessary background, and it is intended to be a fun introduction to the fundamentals of this beautiful field. For more details see: