This assignment tests your understanding of Dart programming concepts. The questions are designed with increasing difficulty levels (1-5).
- Demonstrate proficiency in Dart fundamentals
- Apply object-oriented programming concepts
- Implement advanced Dart features
- Write clean, efficient, and well-structured code
-
Fork the Repository:
- Go to the original repository on GitHub
- Click the "Fork" button in the top-right corner
- This creates a copy of the repository in your GitHub account
-
Clone Your Forked Repository:
git clone https://github.com/YOUR_USERNAME/assignment-one-dart.git cd assignment-one-dart
-
Create a New Repository on GitHub:
- Go to GitHub.com and click the "+" icon
- Select "New repository"
- Repository name:
assignment-one-dart-YOUR_NAME-YOUR_IUB_ID(replace YOUR_NAME with your actual name and YOUR_IUB_ID with your IUB ID) - Make it Public
- DO NOT initialize with README, .gitignore, or license
- Click "Create repository"
-
Connect Your Local Repository to Your New GitHub Repository:
# Remove the original remote git remote remove origin # Add your new repository as origin git remote add origin https://github.com/YOUR_USERNAME/assignment-one-dart-YOUR_NAME.git # Push your code to your new repository git push -u origin main
-
Install Dart SDK:
- Visit dart.dev/get-dart
- Download and install Dart SDK for your operating system
- Verify installation:
dart --version
-
Install Dependencies:
dart pub get
Work through each question in the question1.dart through question5.dart files. Each file contains detailed TODO comments to guide you.
-
Run All Tests: For a comprehensive and easy-to-screenshot view of your progress, run:
dart test test/all_tests.dartOr run all tests in the directory:
dart test -
Expected Output: When your implementation is correct, all tests should pass:
All tests passed! ✅ -
Take a Screenshot:
- Run
dart test test/all_tests.dartin your terminal. - IMPORTANT: Take a high-quality screenshot showing the entire terminal output with all tests passing.
- Save it as
test-results.pngin your repository root.
- Run
-
Commit and Push Your Changes:
# Add all your changes git add . # Commit with a descriptive message git commit -m "Complete Dart assignment - all questions implemented" # Push to your repository git push origin main
-
Submission Requirements:
- GitHub Repository Link: Share the link to your public GitHub repository.
- Test Screenshot: Ensure
test-results.pngis visible in your repository. - Public Access: double-check that your repository is set to Public.
Each question file (question1.dart to question5.dart) now contains an EXPECTED OUTPUT section at the top. Your implementation should produce output that matches this format.
-
Recommended (Unified Output):
dart test test/all_tests.dart -
Run Individual Tests:
dart test test/question1_test.dart
When all tests pass, you should see a message indicating successes across all questions.
Important: Capture the terminal output specifically from dart test test/all_tests.dart for your submission screenshot.
- Correct implementation of requirements.
- Matching the Expected Output exactly as specified in each file.
- All tests passing.
- Proper use of Dart data types, collections, and OOP principles.
- Clean, readable code with appropriate naming conventions.
- Efficient implementation of logic.
Your repository should have this structure:
assignment-one-dart-YOUR_NAME-YOUR_IUB_ID/
├── question1.dart
├── question2.dart
├── question3.dart
├── question4.dart
├── question5.dart
├── test-results.png (screenshot of passing tests)
├── README.md
├── pubspec.yaml
└── test/
├── all_tests.dart
├── question1_test.dart
├── question2_test.dart
├── question3_test.dart
├── question4_test.dart
└── question5_test.dart
- Forked and created your own naming-compliant repository.
- Completed implementations for all 5 questions.
- Output for each question matches the EXPECTED OUTPUT header.
- All tests pass when running
dart test test/all_tests.dart. - Screenshot
test-results.pngshowing all tests passing is in the root directory. - Pushed all changes to GitHub and repository is Public.
Happy Coding! 💻
Show us what you've learned!