2017-04-23
This course is a short introduction to the Python programming language. Our first lecture is Monday April 23 at 11:30 in SW3-1710. Labs will start the first week (Monday) in SW1-2560.
2018-04-24
For the Tuesday afternoon lab set on April 24 only we will move the lab to SW3-2665 so that another course can use software that's installed in SW1-2560.
2018-04-27
Week of | Mon/Tu | Wed/Th/Fri |
Apr 23 | Lecture | Lab 1 |
Apr 30 | Lab2 | Lab 3 |
May 07 | Lab 4 | Lab 5 |
May 14 | Presentations | Final Exam |
2018-04-27
Students registered in the course should now have keycard access to SW1-2560.
Scheduled labs have priority. The lab schedule is given below.
Time | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
0830 | 201810-84024 (0830-1020) | 201810-82715 (0830-1120) | |||
0900 | 201810-84024 (0830-1020) | 201810-82715 (0830-1120) | |||
0930 | 201810-84024 (0830-1020) | 201810-82715 (0830-1120) | 201810-84026 (0930-1120) | ||
1000 | 201810-84024 (0830-1020) | 201810-82715 (0830-1120) | 201810-84026 (0930-1120) | ||
1030 | 201810-82672 (1030-1320) | 201810-84026 (1030-1220) | 201810-82715 (0830-1120) | 201810-84026 (0930-1120) | |
1100 | 201810-82672 (1030-1320) | 201810-84026 (1030-1220) | 201810-82715 (0830-1120) | 201810-84026 (0930-1120) | |
1130 | 201810-82672 (1030-1320) | 201810-84026 (1030-1220) | 201810-41564 (1130-1320) | ||
1200 | 201810-82672 (1030-1320) | 201810-84026 (1030-1220) | 201810-41564 (1130-1320) | ||
1230 | 201810-82672 (1030-1320) | 201810-84025 (1230-1420) | 201810-84346 (1230-1420) | 201810-41564 (1130-1320) | |
1300 | 201810-82672 (1030-1320) | 201810-84025 (1230-1420) | 201810-84346 (1230-1420) | 201810-41564 (1130-1320) | |
1330 | 201810-84025 (1330-1520) | 201810-84025 (1230-1420) | 201810-84346 (1230-1420) | ||
1400 | 201810-84025 (1330-1520) | 201810-84025 (1230-1420) | 201810-84346 (1230-1420) | ||
1430 | 201810-84025 (1330-1520) | 201810-84024 (1430-1620) | 201810-84345 (1430-1620) | ||
1500 | 201810-84025 (1330-1520) | 201810-84024 (1430-1620) | 201810-84345 (1430-1620) | ||
1530 | 201810-84345 (1530-1720) | 201810-84346 (1530-1720) | 201810-84024 (1430-1620) | 201810-84345 (1430-1620) | |
1600 | 201810-84345 (1530-1720) | 201810-84346 (1530-1720) | 201810-84024 (1430-1620) | 201810-84345 (1430-1620) | |
1630 | 201810-84345 (1530-1720) | 201810-84346 (1530-1720) | |||
1700 | 201810-84345 (1530-1720) | 201810-84346 (1530-1720) | |||
1730 |
2018-05-02
Please fill in the Lab Access survey form (see link in taskbar menu above) if you would like key card access to the SW1-2560 lab. To diagnose the problem you will be asked for the expiry date of your student card and the date on which you failed to open the door to the lab. Please complete the survey by Friday so I can send the information to Kelly/Security next week.
2018-05-02
Please see the Presentation Guidelines and Topics document (under Content / Student Presentations) for information on how the presentation lab sessions will be organized and some suggested topics. Then sign up for a group and a topic using the Presentation Groups link in the menu bar on the course web site.
2018-05-03
D2L is not up to the task of coordinating the presentations so I will have to do it manually. e-mail me the day/time of your presentation, the topic you want to present on and the group members and I will add it below.
2018-05-08
It will not be possible to coordinate presentation topics at the last minute. The presentations are next Monday and Tuesday. So if your presentation topic is not on the list on the course web site by 9 PM this Friday I will assume you do not want to give a presentation. You will not have to give one but will get a mark of zero for it (it's worth 20% of your final mark).
If you want your topic to go on the list on the web site you must follow the instructions. Send e-mail to ecasas@bcit.ca and tell me: the day and time of your lab (e.g. Monday at 1:30), the topic (if it isn't already chosen -- check first) and the names of the people presenting.
2018-05-09
The two lists supplied to merge() can be assumed to be sorted. The result that is returned should also be sorted.
You cannot use the len() function but you can test whether a list is empty by using the list in a logical expression. For example "a and b" is true if both a and b have lengths > 0.
If the lswap() function is buggy the bsort() function will likely not work. If the merge() function is buggy then msort() will likely not work. The testing code may not catch all errors. So you may want to do your own testing if you're getting strange results.
All recursive algorithms must ensure that the sequence of recursive calls eventually terminates. We call msort() with successively smaller lists so the length will eventually be 0 or 1 which allows us to terminate.
Dividing an odd integer by 2 will produce a floating point value which cannot be used as an index. You can use the % or // operators.
The algorithm for the merge sort is:
Remember to use an r prefix before regular expression strings that contain a backslash. In the lecture I used the sequence '\1' in the regular expression string but this simply inserts a control character whose ordinal value is 1.
In Questions 6 and 7, consider only words that have two or more letters. Consider only lower-case vowels (a, e, i, o, u) to be vowels.
2018-05-10
As an exercise in finding and learning to use Python packages on your own, you must prepare a 10-minute (or less) presentation on a Python package of your choice. The presentations will be made to the other students in your lab set during your scheduled lab on May 14 or 15.
You may use your own laptop (using VGA, HDMI or mini-DP output) or the instructor's PC for your presentation. If the latter, tell the instructor if you need package(s) installed for your presentation and upload your presentation (PDF or Jupyter notebook) to the appropriate dropbox on the course web site.
Presentations should include:
After your presentation the class (or the instructor) will ask you a question or two about the package.
Time your presentation beforehand and make sure you do not exceed your time limit.
The presentation will be marked as follows:
2018-05-10
The presentations will be marked by the other students in your lab set.
The marking guidelines on the course web site (under Content/Student Presentations/Marking Guidelines) might help when preparing your presentation.
2018-05-11
Your marks can be retrieved from a web page on the course web site under Course Information / marks.
Your marks are encrypted with a password.
Your own password is available in a text file attached as feedback for Lab 1.
2018-05-15
I've posted a sample final exam and solutions under Content / Exams. I'll try to post another one later.
Previous year's exams are available at: http://www.ece.ubc.ca/~edc/4653.may2017/exams/
2018-05-21
All items have been marked and the unofficial marks posted under Content / Course Information / Marks. You'll need the password supplied as feedback for Lab 1.
Everyone passed. The minimum/mean/median/max were 0/77/100/100 for the final exam and 52/85/94/100 for the final mark.
The distribution of final marks is shown below.
Please check your marks and let me know if you have any questions.