- The Learning Process
- Evaluation: Quizzes & Assigments
- Athena Platform
- About Athena
- About LearnDash
- LearnDash: Displaying a Course in the Courses Page
- LearnDash: Enrolling Groups to Courses
- Markdown Snippets
- Live Sessions and Guest Lectures
- Guest Lectures
- Students Presentation Day
- Using Zoom
- Using Zoom: Create a Zoom Meeting
- Evaluating Student Code
- Issuing Certificates
- Each student must devote at least 3-4 hours daily for studying
- All students must attend the weekly live session lead by an instructor
All of the quizzes are found in the FrontEnd Course Exercises repository
The students must fork the repo, create a branch for each exercise and open a Pull Request to the main branch of their forked repo (not the original). They must then submit the Pull Request URL.
As of September 2020, Social Hackers Academy is hosting all of its educational material on the
The Athena platform is backed up by
WordPress and the
LearnDash LMS system.
The LearnDash LMS system organizes the content based on the following hierarchy:
Coursesare made up of >
Lessonswhich in turn are made up of
In order to get a quick and easy access to a course and its content, you can login, head over to the Dashboard, go to Users > Profile and scroll down until you find the Course Info sections. Select a course, and click on the details button.
We are using the
Markdown format for our material. All contributions should be submitted in
- Go to Dashboard > LearnDash LMS > Courses
- Select the Course you’d like to be displayed
- On the Course side panel, in the Add New Course Tag add the active tag.
- Update the course page.
- You are ready!
- Login to WordPress > Dashboard > Select Users
- Select the Student account that you’ll like to check the progress on:
- In the User page, scroll down to double check the courses that they are currently enrolled in:
- Scroll further down to find the courses that the student is enrolled and click the details button to see the course structure and the lessons and topics that the student has completed . These are the ones with a blue checkmark next to them:
- Here’s a screenshot of a student that has completed a course:
- Dashboard > LearnDash LMS > Courses
- Pick a Course
- Go to the Groups Tab, select a Group from the left panel and click the right arrow to enroll the group to the course
- Dashboard > LearnDash LMS > Groups
- Pick a Group
- Go to the Courses Tab, in the right panel you will see all the courses that this group has been enrolled.
All topics, lessons and course material is created and maintained in the
Markdown format. Here are some basic resources to get started with
A link (anchor tag):
An image (img tag):
A custom image with Lightbox:
[ !(URL) ](#lightbox-URL)
Example of a markdown image with lightbox (zoom) functionality:
[ !(/uploads/learndash.jpg) ](#lightbox-/uploads/learndash.jpg)
Platform: We are currently using Zoom for our live sessions. Every single session is being recorded in order for it to be publicly available online for students that could not attend the live meeting.
Language: All sessions are being presented in english.
Structure: The biggest part of the session is devoted to presenting the material ensuring that live coding must be included since it is a crucial part of the presentation and the learning process. At the end, a small part of the session is devoted to Q & A. Last, but not least, we make sure that the students are given at least one small project to work on and practice the skills learned. After the presentation, lecturers with access to our Slack channel can answer questions or help the students perform the given exercises.
- Tips: Most of the times, we try to include real life examples of the technologies or concepts presented, for example we share multiple screenshots of online sites that are using Flexbox, we demonstrate production code that is based on the concepts learned, and so forth.
Students: The current cohort (
SEP2020-FE) is comprised of 16 students, but most of the times, guest lectures are available to all of our graduates and probably to anyone with the link.
Since the recorded sessions are split into multiple parts according to the breaks, there should be no talks or answering questions during the breaks, otherwise these parts will be lost during video editing.
- We create new a DOC file.
- We give the file a title, we usually put the date and the class. For example 17.03.021 – CLASS 12
- We click the SHARE button and under Restricted we select the Anyone with the link option and we set the Viewer as Editor
- When we login to zoom for our session, we paste the link in the Chat tab in order the document to be visible and accessible by everyone.
- In the DOC document that we have previously created we add a:
- REFERENCES section that contains all the links to the resources that we used during our session.
- QUESTIONS section, which is not a mandatory section. We usually add some questions that we don’t want to forget or we didn’t have the chance to answer during the session. In that case, depending on the question, we answer the question in the SLACK channel after the session or perhaps in the next session.
- During the Live Session when it is time to take a 15 minute break, just google timer 15 minutes and the timer will start.
After the Session:
- Login to Zoom and go to the Recordings
- Select the live session (you might want to wait a couple of minutes before Zoom finishes the processing of the recording) and click the Share button
- Click the Copy Sharing Information
- Go to Slack, find the Live Session message and start a new thread (if there’s not one already there) and paste the recording information:
- Go back to the recordings, click the More button and download the recording files (except the .m4a ones)
- Go to our YouTube account, click the Create button and then the Upload Video button:
- Upload the videos and follow the procedures below:
- In the description add the date of the recording (Recorded on: 05.03.2021) and the presenter (Presented by: Paulin de Naurois)
- Add the video to one of the Playlists, e.g. LIVE SESSION – DEC2020-FE if the live session belongs to class DEV2020-FE, etc.
- Check the
Yes, it's made for kids, click
Nextand select Unlisted from the
Visibilitypanel. You are ready to publish the video
When the recordings are uploaded on YouTube, it’s time to share these links with the students on Slack, thereby replacing the previous pasted messages with the Zoom recording links. You can then remove the recordings from Zoom platform to make space for next sessions.
While you are in Zoom you can download the Attendances Report for the specific Live Session:
- From the left vertical panel ADMIN go to ACCOUNT MANAGEMENT and then click REPORTS.
- Then click the ACTIVE HOSTS tab.
- From the new window that appears pick the desired date and click SEARCH.
- Then a new table will appear with all the recordings of that particular date. Each row represents a recording for each Live Session. Find the recording you want and from the row click the PARTICIPANTS column.
- From the popup window check the SHOW UNIQUE USERS checkbox and click EXPORT.
- The report will be downloaded in a
- Then you need to upload the
.csvfile to google drive in the
Education/School Administration/Attendancesdirectory inside the appropriate folder.
We also add a few more messages in the Slack channel in the thread that we have placed the recording link:
- If a doc document is used during the session we convert it to pdf (File -> Download -> PDF) and we paste it as a new message with the title NOTES:
.txtfiles we get when we download the recordings we also paste them as new message with the title TRANSCRIPT:
- Finally if there is some code we need to share from the CodeSandbox or CodePen we download them as
.zipfiles and we paste them as new messages with the title CODE:
- Create a Zoom Meeting … X) Copy the Recordings Link and share it with the participants X) Download the Recordings X) Trim the videos (using MPEG Streamclip) X) Upload to our YouTube Channel
During the Frontend course, each student team is asked to prepare a presentation about a concept of their choice, something related to the curriculum, of course.
Students are encouraged to use the Reveal.JS framework and make their presentations last around 15 to 20 minutes.
- Go to Zoom and login with our SHA credentials
- Go to Meetings and select Schedule a Meeting
- Set the Topic, When and Duration. Make sure to check the Allow participants to join anytime and click Save.
- Grab the invite link and you’re ready! This is the link that you will share with the participants.
- Checking Submitted Quizzes/Assignments
- Check the
ProPanel OverviewWidget for Assignments Pending or Essays Pending
- Check the
- Click on either of these and approve the Assignments/Essays/Quizzes in order for the students to be able to continue their progress. These assignments/essays/quizzes can be graded at a later time.
- LearnDash LMS
- Submitted Assignments. You can approve and grade them.
- Submitted Essays. You can approve and grade them.
- Groups. You can see select to List Users, Export Progress (CSV) and Export Results (CSV).
- You can send an email to a Group
- Student Report: List Users > Click Report
- Activity, Stats and ProPanel widgets in the Dashboard
For reviewing, evaluating and grading the assignments or quizzes submitted by the students, we stick to the following methodology and tools:
- Once the students have become familiar with
GitHuball assignments must be submitted through private GitHub repositories and add their (selected) instructors as collaborators. This way, instructors can leave comments, create Issues or Pull Requests and instruct students on how to refactor their code or what should they be fixing.
Make sure to watch the next 2 video2 which contain instructions on how to evaluate and grade student assignments.
In this section you will find the necessary tools for evaluating code submitted by the students, along with checklists for manual reviewing. Feel free to suggest any additional tools or checkpoinst in the comments section below.
- Validate HTML code through W3C Validator
- Automated tests can be run through the html-validator CLI tool like this:
html-validator --verbose --format=json --file=index.html
- Automated tests can be run through the html-validator CLI tool like this:
- Check HTML pages for conformance with accessibility standards using the AChecker Tool
- Use the Google Chrome Lighthouse Auditing Tool to check the scores on Performance, Accessibility, SEO and Best Practices.
- Check that Semantic HTML elements are used throughout the web pages, and suggest to avoid heavy use of the
divtags as much as possible.
- Check that there are no duplicate ID names found in the page.
- Suggest the use of
labelelements to accompany
textareaform elements and connect the pairs using the
- Validate CSS code through W3C Validator
- Use a CSS Linter to validate and check the code for errors and bad practices
- Use the Google Chrome Coverage Tool to detect unused CSS (be careful with styles applied to hovered or hidden elements though)
npx is-website-vulnerable <URL>
- Use an AI-based code static analysis tool like DeepCode.ai
Evaluation reports are created using the Markdown format.
They are converted to the PDF format and sent to the students. You can use the Markdown PDF VSCode plugin to create a PDF file from a Markdown file easily.
Here is an example of an Evaluation report:
Make sure to include your name and the student’s name on the report.
Here is a recording of code reviewing a student’s assignment to get you started. In case you feel comfortable with screencasting, you can record the evaluation and code review and share it with the rest of the students.