University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Philosophy, Psychology and Language Sciences : Language Sciences

Postgraduate Course: Computer Programming for Speech and Language Processing (LASC11096)

Course Outline
SchoolSchool of Philosophy, Psychology and Language Sciences CollegeCollege of Arts, Humanities and Social Sciences
Credit level (Normal year taken)SCQF Level 11 (Postgraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis course introduces the concept of computer programming and the python programming language. It focuses on how to think about solving problems in ways that can be addressed algorithmically, with examples relevant to speech and language.
Course description This course covers high-level concepts in computer programming as well as hands-on practical training in writing code in python. The goal is to teach students to think about computational approaches to solving problems - what is a computer? what can it do? how can a question be framed in computational terms? In addition, students learn the nuts and bolts of programming in python including data structures, flow of control, input and output. The details are taught within the context of problems in speech and language processing.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Other requirements None
Additional Costs None
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2019/20, Available to all students (SV1) Quota:  93
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 6, Seminar/Tutorial Hours 30, Feedback/Feedforward Hours 1, Summative Assessment Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 59 )
Assessment (Further Info) Written Exam 50 %, Coursework 50 %, Practical Exam 0 %
Additional Information (Assessment) Practical programming assignment: 50%
Exam: 50%
Feedback The formative feedback will comprise:
1. Tutor/lecturer interaction and feedback. Under the revised course structure, there will be fewer whole-class ('passive') taught hours, and more hours in the lab ('active'), where students will follow pre-prepared teaching material which is intermingled with exercises (similar to a 'flipped' classroom teaching model). This increases the opportunities for targeted interaction with the lecturer, tutors and fellow classmates.

2. Pre-prepared course content consisting of written material, video clips, and practical exercises. An important innovation is that the exercises can be automatically tested within a standard software engineering unit-testing framework, invoked at will by the student, which will give instant feedback on how successful each programming attempt has been. These are not part of the summative assessment, but the lecturer can monitor pass/fail rates per student and exercise over time, to target students or topics that need more attention.

3. Short multiple choice quizzes will be used throughout the course, both at the whole-class lectures and the in-lab learning setting. Experience has shown students enjoy and appreciate these, because they provide individual feedback to students about their developing understanding and knowledge.

4. Code review exercises will be conducted at regular intervals throughout the course. Variants of this approach will be experimented with in the first 1-2 years of this new course design, such as: discussion of carefully-chosen or designed examples of good and bad computer code; double-blind peer-review of students' own code. Code review will assist learning by: exposure to and critique of varying code styles and standards; frequent opportunities to receive informal feedback on coding performance. Code review is widely used in industry, so this is a valuable transferable skill.
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S1 (December)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. understand and employ the basic principles of computer programming
  2. apply familiarity with the basics of the Python language to write useful programmes
  3. analyse and address problems from a computational perspective
  4. create programmes to manipulate, reorganise and process data (in particular speech and text) in non-trivial ways
  5. review and critique computer code written by others
Reading List
Beginning Python, Hetland
Learning Python, Lutz
Learn Python the Hard Way
Additional Information
Graduate Attributes and Skills Coding (and code review) skills.
Additional Class Delivery Information Whole class sessions
Block1-week 1; Block2-week2; Block2-week6: ONE x 2hr lecture
- Wednesdays 13.10-15.00

Each student will be in one lab group. For each lab group:
Block1-week 1; Block2-week2; Block2-week6: ONE x 2hr lab session

For six other weeks of semester 1: TWO x 2hr lab sessions
(using of 9 of the 11 available weeks of teaching, as is standard)
With the current class size, the class will divide into two lab groups, requiring a total of FOUR x 2hr lab bookings, at the following times:
- Mondays 13:10-15:00 (except Block1-week 1; Block2-week2; Block2-week6)
- Wednesdays 13.10-15.00 (except Block1-week 1; Block2-week2; Block2-week6)
- Thursdays 11:10-13:00 (every week)
- Fridays 11:10-13:00 (every week)
KeywordsSpeech,Computer programming,Python
Course organiserDr Korin Richmond
Tel: (0131 6)51 1769
Course secretaryMiss Toni Noble
Tel: (0131 6)51 3188
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information