News

Welcome to ELEX 4653

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.

Lab Room Change - Tuesday April 24 3:30 to 5:30 only

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.

Lab / Presentation / Exam Schedule

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

Access to SW01-2560 Lab

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          

Lab Access

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.

Presentation Guidelines and Topics

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.

Presentation Groups

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.

 

Monday 13:30

Monday 15:30

Tuesday 8:30

Tuesday 10:30

Tuesday 15:30

Deadline to Sign up for Presentation

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.

Hints for Lab 5

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.

Presentations

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:

Presentation Marking

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.

Checking your Marks

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.

Sample Exams

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/

Check your marks.

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.