Kursöversikt
Course PM
DIT341 Web and Mobile Development H21 7,5 hp/credits
Course is offered by the department of Computer Science and Engineering.
Contact details
Examiner / Course Responsible
Philipp Leitner (philipp.leitner@chalmers.se)
Co-Teachers
Joel Scheuner (scheuner@chalmers.se) - primary contact for assignments and supervisions
Coaches (Teaching Assistants)
Gagandeep Singh (gussingga@student.gu.se)
Mattias Ekdahl (gusekdmad@student.gu.se)
Hannah Maltkvist (hannahmaltkvist@gmail.com)
Ahmad Idrees Samadi (gussamaah@student.gu.se )
Chen Rongzhen (crz11111@outlook.com)
Al-Amir Adegbuji-Onikoyi (gusadegal@student.gu.se )
Student Representatives
Maheli Silva
Olga Ratushniak
Irina Levkovets
Himank Meattle
Chalmers IT Support
Contact support@chalmers.se if you don't have a CID or if forgot your credentials. A CID is required for signing into GitLab used for the assignments.
Student Office
Contact student_office.cse@chalmers.se for questions related to the course administration (e.g., registration, signup, grades in LADOK).
CSE Student Pages
- GU course page: https://utbildning.gu.se/education/courses-and-programmes/course_detail?courseid=DIT341
- Student portal: https://studentportal.gu.se/english/my-studies/cse
- Study in Gothenburg: https://utbildning.gu.se/education
Course purpose
This course covers key concepts, technologies, and skills for server-side and client-side Web and mobile programming, with a particular focus on basic technologies for interactive full- stack Web programming (HTML, CSS, JavaScript). The concept of responsive design will be used to show commonalities and differences of Web and mobile applications. Through this course, students will learn how to develop Web applications for desktop and mobile with dynamic and interactive contents. Through the example of web and mobile applications, the course also discusses principles of how to write distributed applications in general.
Schedule
Course literature
There is no course book for this course. Resources (e.g., slides) are provided on the Schedule page. Further, students are expected to work through a collection of (freely available) mandatory Reading and Exercises.
Course design
The course emphasizes problem-based learning. Basic concepts of Web and mobile development are presented in the lecture, exercised in homework, reading, and exercises, and then applied in the context of an integrated, graded assignment. Assignments are developed in student teams.
Teaching and Learning Activities
Assuming the COVID-19 situation remains stable, the following (hybrid) course design is currently planned:
- Lectures will be in-class in Styrbord (large lecture hall in Lindholmen). Styrbord is equipped with streaming equipment, so we will (try to) also stream the lecture to the Internet (assuming no technical difficulties). Pending approval from department leadership, recordings of these streams will be made available afterwards through Canvas.
- Supervisions will be streamed via Zoom. There will not be any in-class supervisions.
- Weekly follow-ups with TAs are by default through Zoom, but upon individual agreement between coaches and group these meetings can also be held on campus.
- Groups are free to meet and collaborate either through Zoom or on campus, depending on their own preferences.
Due to the current COVID-19 situation, the course design focuses on remote teaching. There will be a limited number of presence teaching elements, but attendance in presence teaching will be optional and no information will be communicated exclusively through presence teaching.
Lectures: There will generally be two lectures per week (Tuesday and Wednesday), with possible exceptions. Attendance in the lecture is highly suggested but not mandatory.
Exercises and Reading: Each lecture will contain pointers to specific resources in the Exercise list, and students are expected to work through at least the mandatory reading before the next lecture. These exercises contain detailed practical information that will be required to succeed in the assignment, and concretise the concepts presented in the lecture.
Supervisions: Supervisions will be held irregularly (depending on demand / need). The focus of supervision sessions is to familiarize students with the technology needed for the project. Attendance in supervisions is highly recommended.
Assignment Progress Meetings: Every Friday, each student group is expected to discuss their progress in the project with their assigned coach (teaching assistant). Attendance of the entire group is mandatory (please notify us in advance if a student is sick or has some other important appointment). Every other week is a milestone week, with clearly defined deliverables for each milestone. If not all requirements for a milestone are reached, the missing functionality has to be submitted in the following progress meeting,
Slack: Support throughout the week will be provided via a Slack channel.
Deadlines and Re-Assessment:
All deadlines mentioned in the assignment description are to be considered hard deadlines. For deadlines 0, 1 and 2, work that is missing or considered insufficient can be improved until the next deadline (e.g., if we judge the backend built for deadline 1 not to be sufficient, an improved version can be presented along with the Web frontend at deadline 2). However, at deadline 3 (the final presentation) the assignment will be judged in whatever state it is in at the time of submission. If this results in a failed assignment, it needs to be re-submitted for re-assessment after the end of the course.
Assignment Re-Assessment: If during the final presentation, the assignment is judged to not be sufficient as per the specification, students have up to two chances to resubmit an improved version. The first deadline for re-submission will be one month after the end of the course. The second deadline will be before Christmas.
Changes made since the last occasion
- Since both Chalmers and GU push for a (slow) return to campus-based teaching, the lectures will now be optionally in-class. However, we will strive to have "everything" also available as online teaching elements (streams, Slack, etc.) for students who feel unsafe to return to campus. As we have not tried this yet, little can be said about the quality of lecture streams at this point. We'll do our best.
- An important exception is the exam. This year, the exam is planned again as a normal hall exam. There will not be a chance to take the exam remotely (unless the governmental recommendations change again).
- In terms of content, the course is identical to the successful 2020 remote iteration.
Learning objectives and syllabus
Knowledge and understanding
- define and contrast client-side and server-side web and mobile development
- explain the concept of full-stack development
- describe the key concepts and methods for web and mobile application
development, including session management, database connectivity, asynchronous
processing (AJAX), responsive design - explain different programming techniques for developing web and mobile
applications with dynamic and interactive contents - elaborate on basic concepts of distributed systems programming, such as processes
and concurrency
Competence and skills
- develop Web and mobile applications with dynamic and interactive contents
- design web layouts with technologies such as HTML, CSS, and JavaScript
- develop full-stack applications using modern web libraries and frameworks
- develop mobile cross-platform applications using responsive design
- handle database connectivity and asynchronous processing
Judgment and approach
- reflect on how web and mobile programs are written, and how different components integrate, thus designing software efficiently
Link to the syllabus: http://kursplaner.gu.se/pdf/kurs/en/DIT341
Examination form
This course consists of two submodules, which are graded independently. Passing the overall course requires a G or better in both submodules. A VG in the overall course requires a G in the assignment submodule and a VG on the written hall exam.
Exam submodule: This submodule is graded through a written hall exam at the end of the teaching period. Note that this will (again, assuming no change in the COVID situation) be an actual hall exam, with no possibility to take the exam remotely.
Assignment submodule: This submodule will be graded during the final presentation. A grade G will be given if all minimum requirements as documented are fulfilled. Note that cases of plagiarism (i.e., copied code) will lead to a U even if the minimum requirements are fulfilled. Further note that the program needs to actually work, i.e., if the solution is not testable because, for instance, the backend consistently crashes during testing, a U will be issued (even if it is just a "small" bug that led to this problem). Further, we reserve the right to reject any solution that does not follow the provided templates - if we can't launch and test the assignment, we may not grade it.
Kurssammanfattning:
Datum | Information | Sista inlämningsdatum |
---|---|---|