- Lectures:
- Tutorials:
- Thu 9:30 -- 10:15am, link
- The Piazza page for this course is here. All questions should be posted on Piazza instead of using emails.
| Member | Role | Office Hours |
|---|---|---|
| Hong Xu | Faculty | Th 1-3 pm, SHB 914. By appointments only. |
| Chuanwen Wang | Head TA | |
| Yang Yu | TA |
| Assessment item | Weight |
|---|---|
| Programming Assignments (x3) | 39% |
| Programming Project | 30% |
| Final Exam | 31% |
Slides are downloadable from CUHK network only.
| Week | Date | Topic | Date | Topic |
|---|---|---|---|---|
| 1 | 1/13 | Introduction | 1/14 | Version control system |
| 2 | 1/20 | Introduction to web applications | 1/21 | Scripting & Interpreted Language |
| 3 | 1/27 | PHP | 1/28 | Node |
| 4 | 2/3 | Node | 2/4 | Authentication |
| 5 | 2/10 | Sessions | 2/11 | Chinese New Year holiday! |
| 5 | 2/17 | Chinese New Year holiday! | 2/18 | Javascript-1 |
| 6 | 2/24 | Javascript-2 | 2/25 | Javascript-2 |
| 7 | 3/3 | Python | 3/4 | Python |
| 8 | 3/10 | Communication, VM and containers | 3/10 | VM and containers |
| 9 | 3/17 | Mobile app-1, Mobile app-2 | 3/18 | Mobile app-3 |
| 10 | 3/24 | HTML5 | 3/25 | NoSQL |
| 3/31 | Reading week | 4/1 | Reading week | |
| 11 | 4/7 | Reading week | 4/8 | NoSQL |
| 12 | 4/14 | Hadoop | 4/15 | Spark |
| 13 | 4/21 | Project presentations | 4/22 | Project presentations, Final exam |
Slides are downloadable from CUHK network only.
| Week | Date | Topic |
|---|---|---|
| 1 | 1/14 | Git |
| 2 | 1/21 | CSS |
| 3 | 1/28 | PHP |
| 4 | 2/4 | Heroku & Database Connection |
| 5 | 2/11 | Chinese New Year holiday! |
| 5 | 2/18 | Node.js |
| 6 | 2/25 | Chrome Extension |
| 7 | 3/4 | Guide to Assignment 2 |
| 8 | 3/11 | Bootstrap & React |
| 9 | 3/18 | Andriod Apps |
| 10 | 3/25 | Assignment 3 |
| 4/1 | Reading week | |
| 11 | 4/8 | Docker |
| 12 | 4/15 | Machine Learning |
| 13 | 4/21 | Spark |
| Assignment | Deadline |
|---|---|
| Assignment 1, Github Classroom Tutorial, Heroku Deployment Tutorial | 23:59, February 20, 2021 HKT |
| Assignment 2 | 23:59, March 18, 2021 HKT |
| Assignment 3 | 23:59, April |
The course project is free-style and leverages today's open-source development tools/methodology. Our aim is to bring in the fun in developing a complete project. Students can work in a group of up to 2 members. We don't have any sample ideas for you to "borrow". Instead, you will propose your own project that all your team members are excited about.
As a matter of fact, you're not free to implement anything, or disregrading a fair workload-to-score ratio. The course instructor and the tutors will meet the students in order to sort out an estimated score for whatever plans a team has proposed. We will host two project discussion sessions to help decide the project topic.
Deadline: 23:39 Jan 30, 2021, HKT
| No. | Members | Topic |
|---|---|---|
| 1 | WANG Tianchang 1155107799, LUO Yiyang 1155124470 | |
| 2 | Ding Baizeng 1155124617, Han Tianyang 1155091993 | |
| 3 | Cheng Mo 1155144832, Li Yan Lap 1155127269 | |
| 4 | Leong Chon Hou 1155113489, Tsui Nga Yin 1155102438 | |
| 5 | Myratgeldi Jumageldiyev 1155118066, Alshir Soyunjov 1155119170 | |
| 6 | Ng Ka Wang 1155125265, Lo Tsz Fung 1155109312 | |
| 7 | Rustami Ubaydullo 1155102622, Sean Kevin O'Hare 1155116399 | |
| 8 | ||
| 9 | CHEUNG Hon San 1155110567, TONG Kai Tik 1155133189 | |
| 10 | ZHENG Zeqin 1155108667, Wong Kin Chi 1155109665 | |
| 11 | Chan Chi Chung 1155094762, Chan Kwun To 1155092996 | |
| 12 | CHEN Ying Chi 1155100383, YEH Shann Wei 1155100333 | |
| 13 | Chi Hung IP 1155109945 |
Deadline: 23:59 February 27, 2021 HKT
Zoom meeting for the project discussion: here
Please find the time of your group's appointment for a six-minute discussion with the course instructors at this doodle link using your group ID. Post a question on Piazza if none of the timeslots there works for you. You will need to submit a project proposal (5% of your project mark) before the meeting. The submission instructions are available here.
Sample proposals can be found below:
Deadline: 23:59 March 9, 2021 HKT (tentative)
You will need to finalize your project proposal (5% of your project mark) before the deadline.
After you have finalized your proposal till project submission deadline.
Deadline: April 30
You will need to submit the source code, and a report of your project (60% of your project mark).
Students are required to submit a signed declaration form that can be downloaded here. Failure to comply with the University Policy may result in disciplinary action.
Time: April 21,22 Location: Online
You will demonstrate what you have built in this semester to your classmates and the teaching team. Each group will have 10 minutes (including 1 minute for setup, 7 minutes for presentation, and 2-minute Q&A). All members need to present. You need to turn on camera when presenting. The presentation is worth 30% of your project mark.
Please submit your presentation slides to BlackBoard the night before your time slot. Failure to do so will result in 5-mark deduction.
Grading scheme for the presentation
Each group member will get the same mark for the presentation.
- (15%) Content, e.g. breadth and depth of the material presented, efforts involved in the project, etc.
- (10%) Quality, e.g. the use of English, the logical structure of the presentation, eye contact, etc. Using notes or other aids and simply reading out the notes will be penalized.
- (5%) Slide design, clarity, conciseness, appropriate use of animations, etc.
Tips for a good presentation:
- On content: Present a clear, logical, and interesting story.
- On delivering: Speak up, and use the mic. Use simple English words, short sentences. Be enthusiastic about whatever you want to talk about. Do NOT memorize and recite. You only need to remember the key points you want to cover, not the exact sentences. Use eye contact with the audience. Use body language and gestures. Try to engage the audience with jokes or questions.
- On slide design: Do NOT use small fonts. Keep the slides simple and clear. No fancy background. Put only the necessary contents on slides. Do NOT put every sentence on slides, and read them out. Use examples and animations and figures to visualize the talk. You may even use videos or audio clips if you are confident in controlling time.
Presentation Schedule https://docs.google.com/spreadsheets/d/1tPZ6DxCki5ejS-JUSxG7ahBpevsff9nzS_38UUlFygo/edit?usp=sharing
- Submit on Blackboard, by going to the corresponding entries under "Course contents". You can submit as many times as you want and we only take the latest version to grade.
- Submit PDF files only. Submissions in other file formats will result in ZERO marks for this item.
- Page limit: 1 page for the initial proposal, 2 pages for the final proposal, 5 pages for the report. Page limit includes everything, e.g. figures and references if any. Do NOT use a cover page with just title and authors; just include the author info on the first page. Reports that exceed the page limit will result in 30% deduction of marks automatically.
- Format: A-4 size paper, 12pt Times New Roman, single-lined spacing, single column. Violation of these formatting requirements will result in 30% deduction of marks automatically.
Time: May 6, 3:30pm. Location: Zoom.
Model answer for the final exam is available here.
If you have a question, the best way to contact us is via the class Piazza site. We'll be conducting all class-related discussion here this semester. The instructor and TAs will check the site regularly. The quicker you begin asking questions on Piazza (rather than via emails), the quicker you'll benefit from the collective knowledge of your classmates and instructors. However, please avoid posting answers or hints for either homeworks or projects before the assignment is due.
You can mark a question as private on Piazza if your question is personal or not of interest to other students. If you wish to talk with one of us individually in person, you are welcome to come to the instructor's office hours and the tutorial sessions. We prefer using these methods instead of sending email, which does not scale well to a class of this size.
The instructors and TAs will periodically post announcements, clarifications, etc. to the Piazza site. Hence it is important that you check it regularly throughout the semester.
The prerequisites for CSCI 4140 are CSCI 2100/2520 or ESTR 2102. We assume basic knowledge of HTML, Python and PHP, and a basic familiarity using Linux systems.
Your attention is drawn to University policy and regulations on honesty in academic work, and to the disciplinary guidelines and procedures applicable to breaches of such policy and regulations. Details may be found at the Faculty's Policy on Academic Honesty and the University's Guidelines on Academic Honesty.
With each assignment, students will be required to submit a signed declaration that they are aware of these policies, regulations, guidelines and procedures. The declaration form can be downloaded here.
In the case of group projects, all students of the same group should be asked to sign the declaration, each of whom is responsible and liable to disciplinary actions should there be any plagiarized contents in the group project, irrespective of whether he/she has signed the declaration and whether he/she has contributed directly or indirectly to the plagiarized contents.
For assignments in the form of a computer-generated document that is principally text-based and submitted via VeriGuide, the statement, in the form of a receipt, will be issued by the system upon students' uploading of the soft copy of the assignment.
Assignments without the properly signed declaration will not be graded by teachers. Only the final version of the assignment should be submitted via VeriGuide.
The submission of a piece of work, or a part of a piece of work, for more than one purpose (e.g. to satisfy the requirements in two different courses) without declaration to this effect shall be regarded as having committed undeclared multiple submission. It is common and acceptable to reuse a turn of phrase or a sentence or two from one's own work; but wholesale reuse is problematic. In any case, agreement from the course teacher(s) concerned should be obtained prior to the submission of the piece of work.
All homework must be done on your own. You can work together in a group on the course project. For homeworks, you must never read, see, or copy the solutions of other students, and you must not allow other students to see your solutions. For project, you must never read, see, or copy the code or solutions of other students (other than your project partner, for group projects), nor allow students other than your partner to see your solutions or code.
You may use books or online resources to help solve homework problems only if explicitly permitted in the homework/project instructions, but you must always credit all such sources in your writeup and you must never copy material verbatim. Not only is this good scholarly conduct, it also protects you from accusations of theft of your colleagues' ideas. You must not ask for homework/project solutions on Stack Overflow or other online sites; you may ask for help with conceptual questions, but you must credit your sources. You must not receive help on assignments from students who have taken the course in previous years, and you must not review homework or project solutions from previous years.
You must ensure that your solutions will not be visible to other students. If you use GitHub or another source control system to store your solutions electronically, you must ensure your account is configured so your solutions are not publicly visible. If you use GitHub, GitHub offers free student accounts that allow you to keep your solutions private; please use one.
We believe that most students can distinguish between helping other students understand course material and cheating. Explaining a subtle point from lecture or discussing course topics is an interaction that we encourage, but you should never read another student's assignment solution or partial solution, nor have it in your possession, either electronically or on paper (other than for project partners). You must never share your written solutions, or partial solutions, with another student, not even with the explicit understanding that it will not be copied. You must write your homework solution strictly by yourself.
Warning: In particular, you should be aware that copying or sharing solutions, in whole or in part, from other students in the class or any other source without acknowledgment constitutes cheating. Any student found to be cheating will (1) be referred to the relevant Offices of the Department, the Faculty and the University, (2) receive negative points on the assignment (i.e., worse than not doing it at all), and, depending on severity, (3) fail the course.
The class does not have a required textbook. Please don't feel obligated to buy a textbook.
We will provide lecture notes and/or slides for many of the lectures. These materials are not a substitute for attending class, as our discussion in class may deviate from the written material. You are ultimately responsible for material as presented in both lecture and tutorial.
Tutorial will sometimes cover important material not presented in lecture, and we expect you will attend.
Any requests for grade changes or re-grading must be made within one week of when the work was returned. A re-grade request must be addressed to the instructor and the corresponding TA via email. We will not accept verbal re-grade requests. Note that a re-grade can result in a decreased score as well as an increased score.
Bear in mind that a primary aim in grading is consistency, so that all students are treated the same. For this reason, we are unlikely to adjust the score of individual students on an issue of partial credit if the score allocated is consistent with the grading policy we adopted for that problem.
We understand that sometimes a student may require additional time for submitting their homeworks for various reasons. Thus, we allow late homework/project submissions with penalty. Please do not ask for any extension besides the grace period you have.
In particular, 1) an assignment may be submitted within three days (72 hours) of the official deadline; 2) we will give no credit for homework turned in 72 hours after the deadline. The penalty on the homework mark starts at 25% on the first day and increments by 25% for each additional day in the grace period. We will count one day in the grace period even if a submission is only 10 minutes late.
We allow a two-day (48-hour) grace period with 15% penalty per day for late project submission.
We offer students of CSCI 4140 the following tips.
1. Don't wait until the last minute to start homeworks and projects! The homeworks and projects can be time-consuming. Pace yourself. Students who procrastinate generally suffer.
2. Make use of office hours! The instructor holds office hours expressly to help you. You are free to attend as many office hours as you wish. You will likely get more out of an office hour visit if you have spent some time in advance thinking about the questions you have, and formulating them precisely. (In fact, this process can often lead you to a solution yourself!)
3. Participate actively in tutorial sections! Tutorial sections are not auxiliary lectures. They are an opportunity for interactive learning. The success of a tutorial section depends largely on the willingness of students to participate actively in it. As with office hours, the better prepared you are for the discussion, the more you are likely to get out of it.