Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Commit

Permalink
Merge pull request #22 from Enet-Com-23/fix-readme
Browse files Browse the repository at this point in the history
Fix readme
  • Loading branch information
khammami authored Jan 29, 2024
2 parents 0bb6aa0 + 798b7ec commit ea12cc4
Showing 1 changed file with 67 additions and 23 deletions.
90 changes: 67 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,93 @@
# pfa-eval-android-project
# Project Name
# [PFA] Assessment of Student Android Projects

**Automated Continuous Integration and Evaluation for Android Projects**
## Project Aim

## Overview
To automate the assessment of Android projects submitted by students, saving instructors time and providing faster feedback to learners.

This project automates the build, test, and evaluation processes for Android projects submitted by students through GitHub Classroom. The workflow includes comprehensive unit tests, Android tests, and an automated evaluation system that assesses student assignments without manual intervention.
## Key Features

## Workflow
- **GitHub Classroom Integration:**

1. **Assignment Creation**: Professors create assignments in GitHub Classroom.
Seamless assignment creation and student repository management.

2. **Repository Creation**: Students, upon assignment submission, receive a dedicated repository for their task.
- **GitHub Actions Workflow:**

3. **GitHub Actions Trigger**: GitHub Actions is triggered automatically upon each assignment submission.
Automatic triggering of the evaluation process upon submission.

4. **Build Process**: The CI pipeline builds the Android project.
- **Comprehensive Testing:**

5. **Unit Testing**: Automated unit tests are executed to ensure code integrity.
Unit tests for code integrity, Android tests for app behavior, and automated evaluation for correctness and completeness.

6. **Android Testing**: Device or emulator-based tests are performed to validate app behavior.
- **Automated Feedback:**

7. **Automated Evaluation**: Custom scripts or testing frameworks assess the correctness and completeness of the student's code.
Timely delivery of evaluation results to students, fostering quicker learning and iteration.

8. **Feedback and Results**: Evaluation results are provided to the student automatically.
## Workflow Breakdown

1. **Assignment Setup:**

Instructors use GitHub Classroom to create and distribute Android assignments.

2. **Student Submission:**

Students submit their projects to their designated repositories.

3. **GitHub Actions Activation:**

Submission triggers the CI/CD pipeline.

4. **Project Build:**

The pipeline assembles the Android project.

5. **Code Verification:**

Unit tests scrutinize code quality and functionality.

6. **App Behavior Validation:**

Android tests ensure the app performs as expected on devices or emulators.

7. **Automated Grading:**

Custom scripts or testing frameworks grade the student's work.

8. **Feedback Loop:**

Evaluation results, including detailed feedback, are automatically shared with the student.

## Getting Started

### Prerequisites

- [Java](https://www.oracle.com/java/technologies/javase-downloads.html)
- [Android Studio](https://developer.android.com/studio)
- [GitHub Classroom](https://classroom.github.com/)
- [GitHub Actions](https://github.com/features/actions)
- Java
- Android Studio
- GitHub Classroom
- GitHub Actions

### Installation

1. Clone the repository:
```bash
git clone https://github.com/Enet-Com-23/pfa-eval-android-project.git
Clone the repository using the provided command.


```bash
git clone https://github.com/Enet-Com-23/pfa-eval-android-project.git
```

## Additional Insights

- Customizable Evaluation: The project likely allows instructors to tailor evaluation criteria and feedback mechanisms.
- Scalability: Supports multiple assignments and students concurrently.
- Potential Benefits:
- Reduced instructor workload
- Faster feedback for students
- Consistent and unbiased grading
- Encourages student engagement and active learning
- Fosters best practices in Android development

## Citation

Please cite this work as:


> Hammami K & Ben Abdallah A (2024) pfa-eval-android-project: Scripts
> to automate the assessment of Android projects submitted by students.
> URL: <https://github.com/Enet-Com-23/pfa-eval-android-project>.

0 comments on commit ea12cc4

Please sign in to comment.