Appeals on final submission
|If you wish to appeal your grade, feel out the standard appeal form (available on the faculty site) and submit it to Omer's mailbox on the 5th floor.|
As usual, appeal only if you think we made a mistake when checking your app or missed something.
Appeal of the form "I think I deserve a better grade" or "I shouldn't have lost that many points on that bug" will be ignored.
Deadline for appeals is 18:00 on Thursday the 6th of April.
|We finally got the OK to publish your grades.|
Grades and feedback on the final submission and final grades have been uploaded and are available online.
|We were instructed to hold off on publishing grades until all tablets have been returned.|
If you got a tablet from us, please contact Adi to return it.
Last week of the semester
|During the last week of the semester we have 2 important milestones:|
Demo day - Tuesday January 24th 12:30-14:30.
The demo day will be in the faculty lobby.
Each team will have a station with a table and their poster.
Make sure you get there 30 minutes before the start of the demo day (12:00) to find your spot, set up and make sure everything is working.
Other students, teachers and guests will visit your stations to see what you developed and try it out for themselves.
Unfortunately, Omer will not be able to attend. If you have any questions/problems on the actual day, ask Itai Dabran.
We expect your apps to be ready in time for the demo day. However, we also expect you to find new bugs during the demo day. It is usually the case than when new people try the app they find new bugs you weren't aware of.
Final Submission - Thursday January 26th (last day of the semester).
The final submission is 2 days after the demo day.
Use this time for final touch-ups and to fix new bugs you found during the demo day.
As with the last submission, you need to submit a zip file containing your APK and any other material you fill is crucial for testing your app.
Any additional material should also be added to the project wiki (please also upload your poster from the demo day to your project wiki).
Good luck :)
|To appeal your grade on the mid-semester submission, fill out an appeal form (available on the faculty site) and submit it to Omer's mailbox.|
Deadline for appeals is February 3rd.
As always, we will only consider your appeal if you think we made a mistake when testing your app.
We will not consider appeal strictly on the number of points deducted.
Mid-semester grades uploaded
|We decided to be lenient in this submission, so the grades are relatively high.|
Make sure you fix what need fixing for the next (and final) submission.
|We regret to inform you that Zvi Listopad has passed away.|
Zvi was important part of our course and he will be greatly missed.
In case any of you are interested, the funeral will be held Migdal Ha'Emek cemetery on Friday (January 20th) at 11:30.
No lecture this week (17/01)
Feedbacks to the mid-semester submission available online
|We've uploaded them to the grades system.|
Will upload grades later this week.
(We think the feedback is more urgent than the grade so that you can fix what needs fixing)
No lecture this week (10/01)
Posters due next week (8/1)
Meetings today will be in Taub 603
Problem with meeting times 2
|We already got a few responses from people that see 11:30 as the first meeting, so we're assuming that's the majority (if not all of you).|
To fix the error we decided the following:
1) all meetings after 15:40 remain the same.
2) there were 3 meetings scheduled between 12:00 and 14:30. since we can't meet at those times, we rescheduled those from 14:40 to 15:40 (hours originally reserved for the course).
3) we opened 2 new slots at the end of the day.
We updated the form to reflect the changes:
(Make sure your time zone is set to Jerusalem, first meeting should be at 14:40)
If that poses a problem for you, contact Omer.
Problem with meeting times
|We just noticed there may have been an error in the form we sent.|
It seems the timezone was wrong which may have affected the times you saw.
The first meeting was supposed to begin at 10:30.
If you see the first meeting at 11:30 and scheduled your meeting according to that, contact Omer.
Clarification about team meetings
|We can only meet on team at a time.|
Don't choose a time slot that someone else already chose (for example, 2 teams chose the 14:40 slot; the 2nd team needs to change).
|We'd like to have the 2nd round of team meetings this week (on Tuesday).|
Use this form to choose a time slot for your team:
In these meetings we'll discuss the features for the 2nd and final sprint.
If you have other topics you need to discuss, you'll have have to schedule another meeting.
Using original images
|Make sure that you only use original images in your posters.|
Don't use any images from other people or anything that might be copyright protected.
|We've uploaded a slightly updated version of the template.|
Make sure you use the new version (old version no longer available on the course site).
Posters for demo day
|On January 24th we will have a demo day where you will present your apps to students, teachers and visitors.|
Each team is required to have a poster for the presentation.
We will print the posters for you, you just need to make them.
We've uploaded a poster template to the course material section (using the template is mandatory but you are allowed to change the colors).
We've also opened a link in the assignments section to submit the poster.
Save your poster as PDF and submit in the link.
The deadline is January 8th at 18:00.
Submitting your application
|You have 2 options for submitting your application:|
1) submit only your apk
2) submit a zip containing your apk and any supplementary material you think is necessary
If you have supplementary material, you are required to also upload it to your project's wiki on github.
Create a page called "supplementary material" and upload the content to that page.
Don't just upload the material to the wiki without including it in your submission, because if it's not also in the submission we won't know to look for it.
No lecture this week (20/12)
|In the coming submission you will only need to submit your APK file.|
You should submit using the assignment on the site.
The deadline is Sunday 25/12 (used to be 22/12 but we decided to push it back a bit).
There will be no presentations for this submission.
|If you want to appeal your hw grades, fill out an appeal form and submit it to Omer's mailbox on the 5th floor.|
You can use a single form for all hws.
Deadline for appeals is 26/12.
Only appeal if you think we got something wrong.
Appeals of the form "I don't think I should X points for Y" will not be considered.
Homework grades published
Reminder: regular lecture this week (13/12)
|To collect tablets, contact Adi Hofman (adihofman @ cs) and set a time with her.|
No lecture this week (6/12)
Asking for extensions
|We've already said it a few times before, in case of problems let us know as soon as possible and don't wait until the last minute!|
From now on requests for extensions sent to us less than 24 hours before the submission deadline will be ignored!
Getting feedback on your UI
|If you want get feedback on your UI layouts:|
1) create a page in your repository's wiki and call it "screenshots"
2) upload screenshots of your layout to that page.
When we can, we will take a quick look at your wikis and give you feedback on the layouts.
This will not be a thorough examination of the layouts.
It will be very quick and we will only point out the big things.
We will not check the wikis during the week of the submission.
A detailed examination of the layouts will be part of your submissions.
This is ungraded and completely optional, not mandatory.
Why you should do it?
Even though the feedback you'll get won't contain all problems, it will contain some.
If you fix these problems before the submission they will not affect your grade (assuming you properly fix them).
who to contact
|If you have questions about the lectures, ask Oren.|
Any other questions (Hws, project, etc...) should be addressed to Omer.
|Many of your projects require using a server as a backend.|
In the lecture this Tuesday Oren will talk about a server called Parse.
We've used this server in previous semesters and recommend you use it as well.
|We have a few more milestones this semester:|
End of sprint 1 (mid-semester submission) - 22/12
End of sprint 2 (demo day) - 24/1
Final submission - 26/1
In case of problems, let us know as soon as possible.
Don't wait until the last minute when we no longer have time to respond.
Backlog submission grades
|We've uploaded your grades for the backlog submission (1-10 points).|
We've also uploaded for each team a short summary of what mostly stood out to us.
You can find the summary as feedback for the submission.
|Due to the fires, submissions will be postponed to Sunday night (23:59)|
Wednesday submission room
|submissions before 14:30 will be in room 235.|
submissions after 14:#0 will be in room 603.
Tuesday submissions will be in room 235
|To help us prepare for your submission, we need you to submit a short (one paragraph) of your project.|
Write this description in the README of your project.
Submit it by midnight the day before your submission (Monday or Tuesday, respectively).
To submit the README:
1) go to https://github.com/Technion236503 and select the repository for your project
2) click on README.md
3) click the small pencil icon on the right to edit the content
4) when you're done, press "commit changes" at the bottom of the page
See you on Tuesday (or Wednesday)
Submission time slot form (updated)
|Here's the updated form for you to reserve a time slot for your team:|
We have 6 slots on Tuesday and 6 slots on Wednesday.
Notes for the backlog submission
|1) The Product Backlog should contain user stories and not development tasks.|
2) User stories are short descriptions of user/customer visible functionality. Development tasks (that you should not define at this stage), are derived from the user stories and are meant for developers.
3) User stories should be described in a language that the user understands. Do not use words such as "Fragment" or "Intent".
4) Ideally, user stories should not describe the structure of the user interface but only the desired functionality.
5) User stories should be short and concise.
6) You should create a Project in GitHub called "ProductBacklog". Within the Project, you should create the stories as notes. Creating them as issues is less recommended but possible. The stories should be sorted by importance.
Error in form
|There was an error in the form we submitted.|
We accidentally set dates on Wednesday and Thursday instead of Tuesday and Wednesday.
We deleted the form and we'll publish a corrected form on 23:00.
Submission next week
|We remind you that the backlog submission will be next week (no regular lecture next week).|
We will have submission slots on Tuesday and Wednesday.
We will publish the form to select a slot tomorrow (Wednesday) at 20:00.
Some of you asked what kind of features should be in the backlog.
In this context, by features we mean functionality visible to the user.
HW3 - returning from "select food" activity
|It seems this wasn't clear before, so to clarify:|
When the user select a food item from the list, you should automatically return to the previous activity and show the toast.
If the user returns from the activity without selecting (for example, by pressing back), no toast should be displayed.
First project submission
|It's time to start planning the projects.|
Each team already has an approved idea so you should all know what you'll be working on for most of the semester.
In the first submission you will need to submit the project backlog.
Oren explained in class how create a project backlog in GitHub.
We've already opened repositories for all teams that submitted an app name.
Use the new repository to create a project for the backlog (as explained in class).
The backlog should contain all features of your app, sorted by importance to the app (such that the first feature should be implemented first).
Think about which features are most useful to the target audience of your app, which are most needed, which will make using the app most comfortable and convenient, and which make it stand out as a mobile app compared to similar websites or other platforms.
We expect to see a full backlog for the entire project.
In a few days we will publish a form for you to select submission slots.
We will inform you ahead of publishing the form so, if you know that your availability is limited, follow the posts to make sure you get a time slot that you can attend.
Attendance to your team's submission is mandatory.
Following this submission we will have two more submissions during the semester.
In the next submission (which will be the week before Hanuka) you will need to deliver part of the features of the app.
In the final submission (last day of the semester) you will need to deliver all features.
As part of your current submission we will decide which features need to be delivered on each submission and which are nice-to-have (meaning you will most likely not have time to implement them).
(Yes, you will also have the last hw to submit the same week as the backlog, but since you suggested the projects and already had time to think about them we estimate it should take you long to prepare the backlog)
|Homework - 12 points |
First project submission (backlog) - 10 points
Second project submission (partial app) - 25 points
Final project submission (full app) - 55 points
Sum - 102 points
Some frequent question for HW3
|Q1. where should the "select" button be in landscape?|
A1. you can choose the location, as long as it reasonable.
Q2. when in Hebrew, should the layout be from right to left?
A2. yes, but if you implement the layout correctly you don't need to explicitly handle this and it should be set by the device locale (this is true starting with API 17, which is why we set the minimum for this hw to 17)
Q3. what locale should we use for Hebrew?
A3. local he is deprecated. the new locale is iw. it is usually suggested to use both to support both new and old devices.
|We will be creating git repositories for you project over the following days.|
The repositories will be named 2017a-<app name>, therefore we need to know the name you want to give your app.
Use this form to submit your app name:
|we have some tablets for you to use.|
Each team can get up to 2 tablets.
Please use this form to reserve a tablet:
Error in a previous post
|A previous post about legal values for hw1 said the range is 0 to MAX_INT including 0.|
That was a mistake. 0 is not a legal value.
(the original post was also fixed)
Free version of Genymotion
|Genymotion offers a paid version and a free version.|
The free version is enough for everything we'll need during the semester (and even more than that).
To get the free version, all you need to do is register to their site.
You don't need to buy anything or provide them with a credit card.
Legal values for HW1
|To make your lives a bit easier, we define the legal values as any integer between 0 (excluding) and MAX_INT.|
You are still required to verify that your app doesn't crash on any value outside these limits.
|Some of you still haven't provided us with their GitHub account.|
We need them asap, therefore the deadline for providing them is tomorrow (Wednesday, 2/11, 23:59).
Submit your account using this form:
|1) Like we said, the colors don't matter. What's important is that it looks structurally similar (we don't expect you to match 100%, as long as your ui is reasonable we'll accept it). If you're missing the Android icon on the top, we'll ignore that. If you're tablet layout maintains the same structure but smaller (meaning the texts are smaller compared to the screen), that's also fine.|
2) This hw can be solved using one xml file for all configurations (especially given what written above). Some of you asked about having a different xml for each configuration, that is not needed at this time (we'll get to that later in the course).
|Just to clarify, we do not accept late submissions without prior approval|
First week lecture slides available online
|Can be found under course material|
|All students in the course are required to have a GitHub account.|
If you don't already have an account, go to https://github.com/join and sign up.
It has to be GitHub, not Bitbucket or any other site.
After creating your account, fill your details in this form:
First lecture is tomorrow
|See you there :)|
Setting up the environment
|We posted a short HW0 in the assignments section.|
This is solely to help you set-up the development and execution environments and verify everything is working.
You don't need to submit anything and there is no grade on this assignment.
Registration is closed
|In case you don't have an idea for an project, you can use this for inspiration:|
DBpedia is one of the most popular Semantic Web projects. Put it simple, DBpedia is a huge database of structured "facts" extracted from Wikipedia. For example, DBpedia holds 350 facts about Michael Jordan, such as his birth place and date, short abstract description, teams he played for, categories he belongs to, and many more.
DBpedia-based Android Applications
Many knowledge-intensive Android applications may be created on top of DBpedia and we invite you to create one of your own (one possible example is an application that provides the user with interesting knowledge from Wikipedia based on location).
To learn more about DBPedia, you can contact Oren Mishali (at )
It will be up to you to suggest an actual project based on DBPedia.
|There is a Facebook group.|
You can use it to talk and ask each other questions.
The course staff doesn't use the group and doesn't follow it.
If you want our opinion/comment/reply/answer/etc, send us an email. Don't tag us on Facebook.
IDEs, emulators and other stuff
|A few notes regarding the tools you'll need to install. |
The standard IDE (and the one mentioned in hw0) is Android Studio.
Android Studio is relatively "heavy" and consumes a lot of memory and cpu.
If you can, it's better to use Android Studio.
Otherwise, look for the Eclipse version and use that instead.
Google's avd (Android Virtual Device) is usually very slow and hard to work with.
Instead we recommend using Genymotion (mentioned in hw0).
Google play services:
If you use Genymotion, their provided images don't include the Google play services (used for interacting with Google provided services, such as sign in with Google).
If you need these services, you can find an apk version of them on the internet and install that on the Genymotion device.
No need to install them right now. If, in the future, you see that you need them, you can always add them.
|Applying to the course is possible via this form: |
Registration is open to groups of 3 students (no more, no less) in at least their 3rd year.
All students must have prerequisites(OOP or yearly project, see relevant post).
At part of your registration application you need to include an app idea.
The course staff will review all applications once every ~2 weeks.
If you have any questions, email Omer.
We will formally enroll all accepted students at the beginning of the semester.
|Attendance to most lectures is highly recommended but not mandatory.|
There are a few dates when attendance is mandatory.
See 'Important Dates' post to know when those lectures are.
|ectures will be on Tuesdays from 12:30 to 16:30.|
Location will be announced later.
After the first 2-3 weeks of the semester we usually reduce the lecture to 2 hours per week (either 12:30-14:30 or 14:30-16:30, will be announced later).
Useful knowledge we do not teach
|Developing mobile apps usually includes dealing with networking and databases. |
We do NOT teach these subjects in the course.
These subject are not prerequisites for the course and you may register even if you don't have any experience with networking/databases but you'll be expected to learn them on your own.
|The purpose of the prerequisites is to guarantee that all students in the course have the knowledge necessary for the course. |
In our case this knowledge is programming in JAVA.
Other subjects, such as networking, databases, etc., are very useful in the course, but depending on your project might not be necessary and are therefore not a prerequisite.
If you can show that you took a course that demanded JAVA at some capacity (such as OOP or the yearly project), you can apply to the course.
Why only courses are acceptable and not other java experiences?
We need to know that you know the material at a reasonable level and we get that from your grade in the relevant courses.
Other java experiences don't give us that evaluation of your knowledge and are left to the TAs' judgement.