This repository has been archived by the owner on Sep 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #22 from Enet-Com-23/fix-readme
Fix readme
- Loading branch information
Showing
1 changed file
with
67 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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>. |