Tips for educators to master virtual instruction | AWS Public Sector Blog

As educators, we need to approach the transition to online teaching as permanent change and innovate for the future. At California State University, we have moved to virtual instruction repeatedly throughout the last five years for a variety of reasons. I encourage educators to have an online version for all your classes, not only for emergencies, but also to be responsive to students who want online offerings.

In this AWS Public Sector Blog post I discuss how to:

  1. Leverage technology to replace face-to-face interaction.
  2. Make the tech work for you.
  3. Get creative.
  4. Throw out the rulebook.
  5. Change the way you approach grading.
  6. Balance organization with passion.
  7. Bonus tip for computer science instructors: Some material is easier to teach online.

From: https://aws.amazon.com/blogs/publicsector/tips-for-educators-to-master-virtual-instruction/

KVTA 1590 Interview on the AWS Cloud at CSUCI

Interview on the partnership between CSUCI and Amazon Web Services, Dec 7, 2020

Main Points of the interview:

  1. Can you explain what a“cloud” is for the laypeople?
    • In some sense it is giant warehouses filled with computers
    • But more importantly it is a new paradigm of computing, described often as on demand access to IT resources via the Internet with a pay-as-you-go plan
    • A good analogy is the power grid; instead of running your own generator, and its backup, and being responsible for its maintenance and operation, you connect to the grid, and outsource those responsibilities to the power company. Then you are just responsible for paying the bills. 
  2. Give a short history of the Cloud.
    • Started over a 100 years ago with the telegraph, smart terminal and operator at the edges, but “dumb” inside (just a cable and repeaters)
    • Then the telephone, dumb at the edges, but smart inside with the switchboard / circuit switching
    • Then the Internet, again flipping the paradigm, smart at the edges, dumb inside – 50 years ago
    • Finally the cloud, going back to the original, dumb at the edges, smart inside – 15 year ago
  3. How is Artificial Intelligence, in particular Machine Learning, connected to the Cloud?
    • Machine Learning is a method of computing where the computation is data driven, rather than instruction driven. A good example, is Optical Character Recognition – you can train the computer to recognize hand written digits, e.g., depositing a check the OCR software extracts the amount from the check.
    • The mathematical idea behind it is a perceptron, that models the neurons in the human brain, and this was first discovered in the 1960s but at that time we lacked the computer power to implement it in practice.
    • Suddenly, 15 years ago or so with the advent of the data center, more companies and institutions had access to the necessary computer power.
    • But since 5 years, maybe a little longer, individuals have access to it via the Cloud. Our AWS Pilot in Machine Learning – students have access to the latest.
  4. What are some examples of the Cloud?
    • Service that we all use: Dropbox, Netflix, Gmail, etc.
    • Your handheld device does not have a lot of compute power, so in some sense it is a portal into the cloud – google maps directions are computed for you in the cloud
  5. Is the cloud secure?
    • That is a very good question, but it does not have a yes/no answer. Security is assessed with risks and probabilities.
    • But, in general, a company like Dropbox has tremendous resources and expertise at its disposal to secure your data.
    • On the other hand, how secure is your data in on-premises solution? 
    • In any case, businesses are moving swiftly into the cloud, because the pricing is so attractive, but their number one concern is: will my data be secure? 
    • Famous saying of Gene Spafford: “The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards – and even then I have my doubts.
  6. What is the job market in the cloud?
    • Excellent, LinkedIn has listed cloud skill as the #1 skill searched for by employers since 2014.
    • That is why we have been growing our Cloud offering at CSUCI. 

How can I learn more about the cloud

  1. List of certification classes
  2. Link to sign up

Why 4-year colleges are tapping Amazon to help deliver cloud computing degrees

Amazon Web Services is one of a handful of tech employers, including Google and Microsoft, helping colleges offer credentials in the field.

Cal State Channel Islands is part of the growing list of AWS Academy institutions, a group of mostly colleges that select at least one instructor to be authorized by the cloud computing giant to teach its courses to students.

Source: Why 4-year colleges are tapping Amazon to help deliver cloud computing degrees | Education Dive

Cloud Computing certification training open to the public at CSUCI

This year I am teaching (online) a sequence of 4 courses in Cloud Computing, in conjunction with the AWS Academy. Students receive AWS accounts, explore AWS services with hands-on labs, and prepare for certification (if they wish to). All classes are open to the public, and can be joined independently of each other (or all taken in sequence!). Please contact jeff.ziskin@csuci.edu to book an information session meeting on Zoom.

Computer Science selected for an AWS Pilot program in Machine Learning

We are very happy to have been selected for an SageMaker Pilot for AWS Educate Classrooms! Machine Learning (ML) is a top hard skill for graduates, and it is also becoming a premier tool for research in all areas. SageMaker Studio is a complete development environment for ML.

The theory of ML can always be taught, but in order to have hands on experience with ML, a computing infrastructure is required that is beyond the means of most educational institutions. Our students will have access to AWS Educate accounts with credits to use the SageMaker Studio environment, and access to to powerful CPU/GPU resources (ml.m5.xlarge, ml.c5.xlarge, and ml.g4dn.xlarge) for training ML models.

ML use cases include SPAM filtering for emails, recommender systems, e.g., Netflix show recommendations, and uncovering credit card fraud. There are three types of ML: supervised, where the data is labeled and the expected outputs are well understood (is an, is this email SPAM or not); unsupervised, where the ML algorithm has to discover the salient properties of the data; and, reinforcement, where some agent (e.g., RoboMaker) interacts with an environment and learns to navigate it through a system of rewards.

SageMaker supports many leading deep learning frameworks, including: TensorFlow, PyTorch, Apache MXNet, Chainer, Keras, Gluon, Horovod, Scikit-learn, and Deep Graph Library.

We applied last July to be part of the AWS pilot program to make SageMaker available to our students, and we were approved to start this fall 2020. We have a group of about 10 students who are going to be learning to use under my supervision.

We are building on our growing expertise in Artificial Intelligence. This fall term, professor Reza Abdolee is teaching a graduate class in AI (COMP569) and professor Bahareh Abbasi is teaching both an undergraduate course in AI (COMP469) and a graduate class in Neural Networks (COMP572).

ML is one of the areas of AWS certification.

Students will learn a variety of auxiliary tools; as you will see from this list, the Python programming language is central to Data Analytics:

  • Jupyter Notebook and Jupyter Lab: an open-source web application that allows the creation and sharing of documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, etc.
  • Pandas: a software library written for the Python programming language for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.
  • Seaborn: a library for making statistical graphics in Python. It is built on top of Matplotlib and closely integrated with Pandas data structures.
  • Scikit-learn: a free software machine learning library for the Python programming language. It features various classification, regression and clustering algorithms.
  • Matplotlib: a comprehensive library for creating static, animated, and interactive visualizations in Python.
  • NumPy: a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.
  • PyTorch (AWS testimonials): an open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing, primarily developed by Facebook’s AI Research lab.

In the words of Jose Cahue:

One of the major hurdles to learn ML as a student is having access to a machine optimized for model training. Cloud computing can be one practical solution to provide the computation resources needed to learn ML.

Jose Cahue

AWS training at CI in the Fall 2020

For questions please contact: jeff.ziskin@csuci.edu (805-437-2653). To register for an information session, or to register for the classes:

https://ext.csuci.edu/programs/professional-community-ed/aws

These classes are open to the public, and they are given in partnership with the AWS Academy.

  1. Cloud Foundations: online from August 24 to October 5:
  2. Cloud Architecting: online from October 19 to December 14:

We are following exactly the AWS curriculum, and students will be provided AWS Educate cloud accounts with credits for the duration of the classes, as well as vouchers for writing the corresponding certification exams.

New paper on setting up WordPress in the AWS cloud

This new paper was just posted as a technical report at Cornell’s arXiv (https://arxiv.org/abs/2007.01823), but it will be submitted for publication in the future. PDF of the paper.

From the abstract: Every organization needs to communicate with its audience, and social media is an attractive and inexpensive way to maintain dialogic communication. About 1/3 of the Internet web pages are powered by WordPress, and about a million companies have moved their IT infrastructure to the AWS cloud. Together, AWS and WordPress offer an attractive, effective and inexpensive way for companies, both large and small, to maintain their presence on the web.

This paper starts from the following premise:

you have been hired by a company with a small Communication budget, but ambitious plans. You have been tasked with setting up an effective web presence; in this role you have to combine both your CS/IT skills, as well as your Communication savvy. The decision has been made to deploy the web page as WordPress hosted on Amazon Web Services (AWS), integrated with social media, as well as robust Analytics to measure the effectiveness of your communication campaigns.

From introduction to WordPress on AWS: a Communication Framework

This paper is a third paper in a sequence on cloudification with AWS; the first one, Cloudifying the Curriculum with AWS, can be found here: https://arxiv.org/abs/2002.04020, and it was mentioned in this blog post, the second on Cybersecurity in the Cloud here: https://arxiv.org/abs/2003.12905, and it was mentioned in this blog post.

A Head in the Cloud – Channel Magazine

While we know Amazon as the world’s online marketplace, millions of international companies know it for its cloud computing services. They use Amazon Web Services (AWS) to store and access data over the internet, allowing us to easily stream our favorite shows, store files and shop online. As more and more companies turn to AWS for technology needs, computer science students will need to quickly learn how to use the platform so they can market themselves post-graduation.

Source: A Head in the Cloud – Channel Magazine – CSU Channel Islands

AWS Developer certification – Associate level

The Developer certification exam is interesting, in that it covers in detail the AWS best practices for CI/CD, Continuous Integration / Continuous Delivery and Deployment, which is very nicely covered in the following white paper: Practicing Continuous Integration and Continuous Delivery on AWS, with the subtitle: Accelerating Software Delivery with DevOps. (I am referencing the June 2017 version of this white paper.) This document is well written, of especial interest to Software Engineers. While Development is the principal component of this certification (30%), there are altogether five domains:

  1. Deployment (22%)
  2. Security (26%)
  3. Development with AWS Services (30%)
  4. Refactoring (10%)
  5. Monitoring and Troubleshooting (12%)

Some of these domains overlap with other certifications. For instance, the 2nd domain, Security, is covered in detail in the Security Specialty exam, which I passed in December 2019 (and described in this post from Dec 3, 2019), and all the domains refer to the knowledge contained in the Solutions Architect certification (which I passed in the spring of 2019; see this post). However, I had to acquire a lot of new knowledge. For instance, the certification assumes advanced knowledge of some programming language, and since the Python3 SDK is one of the best developed AWS SDKs, I studied to become familiar with boto3, the AWS SDK for Python3; see here.

Of course reading manuals to understand boto3 is boring; I suggest to find a project that you always wanted to implement, and work on that. The excitement of building an application helps with the learning of a new tool. I worked, topically, on a pandemic simulator and an url shortener (which I called Tout Court) as I always wanted to have my own bit.ly application.

In order to develop both applications, I used a set of AWS tools that are covered in depth in the Deployment and Development domains: Cloud9 for writing the code (I was happy to find out that Cloud9 has a “Vi Editor” mode), I used GitHub instead of CodeCommit, but GitHub can be integrated into the AWS development environment, CodeDeploy in order to automate the deployment of the applications, and CodePipeline to bind it all together. X-Ray is an important tool for the exam, and helps to isolate “bottle-necks” in your application.

Refactoring is an interesting concept. It means to re-architect or re-imagine an existing solution but leveraging cloud-native capabilities. I learned quite a bit about it from Ahead in the Cloud: Best practices for navigating the future of enterprise IT, by Stephen Orban from AWS.

As AWS certification requires a significant investment of time (for me at least), it is important to understand why one does it. In my case, as a Computer Scientist, I believe it is important to systematically acquire new knowledge, as ours is a fast developing field. I also find the AWS curriculum very well designed, interesting, in-depth, and I have become fascinated by the new paradigm of Cloud Computing. Finally, the most important reason for me is to be able to bring this expertise back to campus, and share with students, and given them an edge in the job market upon graduation.