Advanced Internet ProgrammingAssessment 2
Motivation
A professional developer does more than just write code. With enough persistence, anyone can use Google to copy-and-paste their way to an application that works. What sets a professional apart is a constant desire to learn, engage and improve on all levels:
Creating high quality code
Improving the processes of writing code
Helping others to learn and improve
Providing thoughtful insight and leadership Contributing to the profession
This assessment is motivated by learning objectives 1, 2, 3, 4 and 7 from the subject outline.
Assessment Item
For this assessment, you will prepare a portfolio demonstrating ongoing commitment to learning and engagement.
In Appendix A of this document there is a list of task choices. You are expected complete one different task each week during the eleven weeks of semester from Week 2 to Week 12. You may take up to two weeks absence or illness without the need for special consideration (in other words, only nine tasks are required in the final submission).
There are 5 categories in Appendix A. Your task choices must include at least one item from each category (i.e., this means that it is mandatory to give a presentation in class). You cannot use the same task more than once.
You are permitted to do several tasks in a week if you wish to complete this assessment item early.
As you complete the tasks, you will create a portfolio of evidence. This is a document containing photos, code, URLs, text or other evidence that is required by the tasks.
Submission
Submit your final portfolio as a PDF, HTML, Zipped HTML, OpenOffice or Word document to UTS Online with 7 days (i.e., 168 hours) of your last laboratory session.
Assessment Criteria
This assessment is worth 30% of your final grade and will be marked out of 30.
You will receive regular verbal feedback throughout the semester when your tutor checks progress.
The final submission of your portfolio will be assessed according to the following criteria:
Demonstration of ongoing commitment to learning (6 marks)
0 |
You have not demonstrated an interest in ongoing learning or you have not completed the required number of tasks (nine tasks). |
2 |
You have demonstrated an ability to improve your own learning as it relates to the learning objectives of the subject. |
4 |
You have demonstrated a commitment to advancing your own mastery as required to maintain relevance in advanced internet programming. |
6 |
You have demonstrated a relentless restlessness: a deep, independent, ongoing commitment to advancing your own mastery of the skills required to lead professional developers and your own mastery of the learning objectives of the subject. |
Depth of understanding and insight into principles and technologies used in advanced internet programming (12 marks)
0 |
Your in-class presentation or the evidence in your portfolio demonstrates mere familiarity with principles and technologies in advanced internet programming. |
4 |
Your in-class presentation or the evidence in your portfolio explains the principles and technologies used in advanced internet programming but only demonstrates superficial insights. |
8 |
Your in class presentation and the evidence in your portfolio demonstrates insight. You have drawn novel connections between concepts and have identified compelling comparisons/contrasts in the principles and technologies. |
12 |
Your in class presentation and the evidence in your portfolio demonstrates a deep understanding of the principles and technologies used in advanced internet programming. You have generated original insights into challenges for the field. You have expertly critiqued the application of the principles and technologies of advanced internet programming. |
Ability to engage with and communicate professionally with technical peers (maximum 12 marks)
0 |
Your in-class presentation and the evidence in your portfolio is confusing or uninformative. |
4 |
Your in-class presentation or the evidence in your portfolio is somewhat unclear or has minimal informative value. You have not demonstrated an ability to communicate at the minimum standards expected in professional technical contexts as it relates to internet programming. |
8 |
Your in class presentation and the evidence in your portfolio is mostly clear and informative. You have demonstrated an ability to communicate at a professional level as it relates to internet programming. |
12 |
Your in class presentation and the evidence in your portfolio is very clear, succinct and informative. You have demonstrated a mastery of professional technical communication as it relates to internet programming. |
Assessment Penalties
A 10% (3 mark) penalty will apply each day the final upload of your portfolio is late.
It is an important requirement that you complete at least one task from each category in Appendix A. If you do not complete at least one task from every category, your submission is incomplete. In this case, the maximum grade for this assessment will be capped at 50% (i.e., 15 out of 30).
You are required to complete a task each week, excepting two weeks of permitted absences. In other words, you will need to complete nine tasks. If you submit less than nine tasks, you will be penalized by the Assessment Criteria for Demonstration of ongoing commitment to learning. In addition, please note that a submission which is missing many tasks is unlikely to contain sufficient evidence for you demonstrate the required skills and knowledge required by the other Assessment Criteria.
As stated in the subject outline, you must add to the portfolio each week. Your tutor will be checking this (without warning) throughout the semester. If you are asked to show
your portfolio and you are missing tasks, then your tutor will record the corresponding weeks as absences.
For example:
- In Week 2 (starting Monday 31 July), nothing is expected: you have until Sunday to complete your first task.
- In Week 3 (starting 7 August), you would be expected to have completed the Week 2 task. However, if you have not completed anything, this will be noted as one absence for Week 2.
- In Week 4 (starting 14 August), you would be expected to have completed the Week 2 and 3 tasks. However, you have up to two weeks of absence or illness so if you have not completed any task this will be noted as absences in Week 2 and 3.
- In Week 5 (starting 21 August), you would be expected to have completed the Week 2, 3, and 4 tasks. If you have completed one task in Week 4, you are meeting the minimum requirements (Week 2 and 3 are absences). If you have not completed anything, then you have used all your absences and your work will be either incomplete or you will need to catch up with a late submission.
- and so on
If you have used all your absences and fail to submit work in a week then you may catch up that item in any later week, as a late submission, subject to a 10% (3 mark) penalty per item. If you do not catch up, you will not have a late penalty but your work will be handled as incomplete and subject to the conditions of incomplete submission described earlier and also in the Assessment Criteria.
Note: We will not penalize you for submitting late even if it would have been better to submit an incomplete submission. If late submission penalties exceed what might have been achieved with an incomplete submission, then the late work will be removed and your work will be graded as an incomplete submission.
You are permitted to do several tasks in a week if you wish to complete this assessment item early. Late tasks will be marked subject to the late submission penalties. However, completing extra tasks more than the minimum number required cannot make up for late submissions or an incomplete submission.
You cannot use an absence to avoid your scheduled in-class presentation. If you miss your scheduled in-class presentation, you must supply a medical certificate or other acceptable evidence of special circumstances and arrange an alternative presentation date (otherwise your submission will be regarded as incomplete).
Absences and Special Consideration
You will not have an opportunity to resubmit work. However, there are 11 weeks and you will receive regular feedback throughout the period. You are permitted to miss two weeks due to illness, absence or any personal reasons without needing to provide evidence and still obtain full marks.
In the event of illness of one or two weeks, no special consideration is required (because two weeks of absences are already permitted).
For this assessment, special consideration will only be possible where there is evidence of illness (or similar circumstances) that last three weeks or more.
Note that it is important to backup your work regularly. Special consideration will not be entertained for data loss.
Misconduct
These activities are to be completed by yourself during the semester. Claiming credit for something you have not done (i.e., plagiarism or fraud) or for work that you have completed prior to the start of semester or for another class (i.e., self-plagiarism) will be regarded as misconduct and treated seriously.
If you are in doubt, please ask your tutor. Please refer to the facultys handbook for more information about Student Misconduct: http://www.uts.edu.au/sites/default/files/FEIT%20Student%20Guide.pdf
Appendix A
Task Choices
You must choose tasks from the lists below. The tasks must be chosen so that they include at least one item from each of the five categories below. Other tasks are permitted but only with the prior written approval of your tutor or the subject coordinator (you can ask on UTS Online).
You cannot use the same task more than once. Note that word counts are approximate.
Note that all activities should be conducted during the semester. Claiming credit for something you have completed prior to the start of semester or for another class will be regarded as misconduct and treated seriously.
Category 1: Class Presentation
Give a presentation in class
Give a four minute presentation to your classmates on an emerging technology relevant to internet programming. During the first laboratory session, you will be allocated a week during semester for you to present.
Hint: choose an emerging technology from the Thoughtworks technology Radar (thoughtworks.com/radar) or propose a topic to your tutor. The presentation should inform your classmates why the technology is important, what the technology does and how to get started with the technology.
If you are using slides, please prepare them in Google Slides (or similar) so that it is easy for your tutor to load it from a web browser during class and without starting Windows.
[Evidence: an in-class four minute presentation on the technology]
Category 2: Improving Quality
- Create automated tests
Write meaningful unit tests for one of the deliverables in this subject. You might use a unit testing framework for your programming language, or you could use an functional test automation tool such as Selenium.
[Evidence: the source code (or a URL with the source code) of the relevant tests] - Conduct a user test
Find a potential user of your application for Assignment 3. Have them use your application while you take notes. Do not speak while they are using the application. Just watch them and take notes.
[Evidence: Take a photo of your user using your application and 150 words
summarizing one key thing you learned from the user test]
Solve the same problem twice
Try solving the same problem using two or more different technologies or platforms (e.g., deploy the same code to Amazon, Google Cloud and Azure and compare the differences in how you approach it) (e.g., try Angular 1 and Angular 2 on a small experiment and compare the two).
[Evidence: 300 words telling us what/why you tried and comparing/contrasting the technologies]
Category 3: Personal Development and Productivity
- Commit streak
Make a meaningful commit to a git repository every day for seven days in a row. [Evidence: public URL of the repository and a list of the relevant commits as either a commit log or a screenshot.] - Reflect on your workflow
What is one way that you can work more efficiently as an internet programmer? Try it.
[Evidence: 300 words telling us what you tried and what happened when you tried it] - Personal study
Read a book or a research paper relevant to internet programming.
[Evidence: 300 words describing what you have learned and how you will apply the knowledge] - Reflect on and improve your time management
Prepare two calendars: (1) how you spent your time last week studying and becoming a better developer and (2) how youd like to spend your time this week improving as a developer. At the end of the week, create a third calendar (3) how you actually spent your time during the week.
[Evidence: the three calendars, 300 words telling us what you learned from the exercise and explaining how you can make better time management a habit] - Reflect on and improve your focus
Try the pomodoro method or another focus technique when writing code. [Evidence: 300 words telling us what you tried and explaining why it did or did not help you (it is fine if it didnt work for youbut tell us why)] - Reflect on your learning
What are ways that you can study more effectively in this subject or otherwise learn more about internet programming? Try it.
[Evidence: 300 words telling us what you tried and why it did or did not help you (it is fine if it didnt work for youbut tell us why)] - Customize an advanced editor
Learn a new editor with a built-in scripting language (e.g., vi, vim, emacs, vs code) and customize in a way that improves your productivity.
[Evidence: the source of your custom configuration or initialization file and 150 words
explaining why you added the customization]
- Read the code
Sometimes the documentation for a technology or framework isnt very good. Sometimes it is good but your question is too obscure. Read the source code of the technology, stack or framework to answer questions that you cant find in the documentation.
[Evidence: URL to the code of an open source project that you examined and 150 words explaining what you learned by reading the code that you wouldnt have been able to learn from the documentation] - Take an online course
Complete an online course on a technology, skill or process relevant to this subject (e.g., look on Lynda.com, Udacity, Coursera or iTunesU).
[Evidence: Screenshot of the course progress and a 200 word summary of something you learned from the course]Category 4: Online Community
- Answer a question on Stack Overflow
Answer a question on Stack Overflow.
[Evidence: the text of the answer and URL of the answered question on Stack Overflow and a screenshot from your logged in profile page showing that you answered the question] - Ask a good question on Stack Overflow
Ask a good question on Stack Overflow that is relevant to what you are learning. Hint: look at questions that get up-voted and down-voted to understand what makes a good question.
[Evidence: the text of the question and URL of the question you asked on Stack Overflow and a screenshot from your logged in profile page showing that you asked the question] - Write a blog post
Write a blog post on a topic relevant to internet programming. You can post to any public platform: if you dont have a personal homepage, consider a blogging platform such as medium.com.
[Evidence: the URL of the blog] - Video tutorial or screencast
Create a video tutorial or screencast on a topic relevant to internet programming. You can post to any public platform.
[Evidence: the URL of the video or screencast] - Submit a commit, pull request or bug report to an open source project Contribute to an open source project. It doesnt need to be a groundbreaking contribution. It can be a change that improves the project in some small way.
[Evidence: the URL of the contribution as well as the text or screenshot of the
contribution (in case the contribution is deleted or resolved)]
- Set up a personal homepage
Set up a personal homepage with your own domain name. [Evidence: the URL of your homepage] - Start an open source project
Turn some code you have created into a reusable open-source project. It doesnt need to be sophisticated or fancy. It might be a project with just one file. However, it should be self-contained so that somebody else might want to use it.
[Evidence: the URL of the repository] - Provide detailed feedback to a classmate
Find a classmate who would like feedback on their project. Write at least ten bullet points with suggestions to improve your classmates code. Note: you should not change their code or suggest specific replacement code, your suggestions should identify problems and provide general guidance on how to improve the code. [Evidence: the name of your classmate, the URL of their repository, and the bullet points that you gave him/her]Category 5: Face-to-Face Community
- Attend a meetup or user group
Find and attend a meetup or user group relevant to internet programming. Hint: use meetup.com or search Google by combining a technology name with user group Sydney).
[Evidence: take a Selfie at the event and write 200 words summarizing something you learned] - Attend a Hackathon
Participate in a Hackathon
[Evidence: take a Selfie at the event and write 200 words summarizing the experience] - Attend a conference or seminar
Attend a conference, seminar or workshop related to internet programming or software development
[Evidence: take a Selfie at the event and write 200 words summarizing the experience] - Meet a professional developer
Meet a professional developer and ask them about their work or for their advice on your career, your resume, your development stack, your code or any other question relevant to your journey as a professional developer.
[Evidence: take a Selfie with the developer and write 300 words telling us who you met and what you learned from talking with him/her]
Reviews
There are no reviews yet.