Skip to content
DaliborPan edited this page Feb 20, 2024 · 21 revisions

Team

Our tutoring team is made up of developers from FI MUNI partner company InQool a.s. Most of us are FI alumni and each week a different duo will teach.

Communication

As a main channel for communication, we will use our discord server (not MUNI). You can also contact us via faculty emails, but there is a high chance that you will get your answers much quicker in the chat group. You will receive discord invite link in your faculty email.

Seminars

Each seminar will consist of two parts. The first half will be dedicated to explaining the current week's topics. In the second half of the seminar, you will be solving the current week's assignments (more on those later). Also don't be afraid to ask questions, especially during the second half of the seminar.

Attendance

Course attendance is mandatory. Each student is allowed to have:

  • 2 unexcused lesson
  • unlimited excused lesson

Evaluation

Students collect points for these activities:

  • Up to 210 points from tasks (9 x task for each week)
  • Up to 250 points from a team project
  • Extra points for active students (especially clean/smart task solutions, activity during lectures, and in the communication discord)

At least 320 is required to pass the course.

Weekly assignments

For (almost) every lecture there will be a weekly assignment for you to do. You always have 1 week to solve it (deadline is at midnight the night before next lecture).

Accepting an assignment

To work on assignments you need to have a GitHub account. We will be using Github Classroom for distributing and submitting the assignments.

IMPORTANT! When accepting first assignment you will be asked to authorize GitHub Classroom to access your account. You will also be asked to select your UCO and name from the list of students, so your GitHub account can be linked. If you don't see your UCO on the list or you somehow skip the step, please contact us so we can link it manually.

Each assignment will have an invitation link that should look like example below that will be sent via email

https://classroom.github.com/a/foogoo

Accept the assignment and use the provided link to get to your repository. Instructions will be provided in README.MD. You should then clone the repository or you can also use Github's built in VS Code editor by pressing . or changing .com to .dev on repository dashboard (you can read more about this feature here)

Submitting the finished assignment

After accepting the assignment, apart from starter code and instructions, your repository should contain a Feedback pull request merging from master to a feedback branch. Push your change to master branch and when you are done label the Feedback PR with a Submitted label. There is an automatic pipeline to build & lint your project.

There should be a successful submission before the deadline otherwise you will be penalized. Important timestamp is of you labeling the PR as Submitted.

You can also resubmit your work before deadline multiple times by removing the label, pushing changes and labeling it again.

Feedback

After submissions close we will review them using Github's PR review. Feel free to reply to the comments and ask questions about the feedback.

Team project

Majority of points are awarded for the team project you will be working on near the end of the course. Before 8th lecture you should all have a team and a project topic selected and accepted. Contact us with your project ideas anytime and we will put together an appropriate scope for it. Projects will be presented during the last seminar.

Base requirements

  • Team of 3-4 students
  • README.MD containing specification and scope of the project
  • Access to source code
  • Presentation of the project (~10 min)
    • project overview and demo (~5 min)
    • highlight interesting parts of your code (used libraries, custom hooks etc.) (~5 min)

Technological requirements

  • All features implemented
  • Git collaboration (each student must have a contribution to the codebase)
  • Responsive design
  • User authentication
  • Server-side rendering alongside client-side rendering
  • Database (CRUD operations)
  • Proper metadata
  • Hosted online (Vercel)

Example projects from previous semesters