Timetable information in the Course Catalogue may be subject to change.

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

Undergraduate Course: Computer Programming for Speech and Language Processing (LASC10079)

Course Outline
SchoolSchool of Philosophy, Psychology and Language Sciences CollegeCollege of Arts, Humanities and Social Sciences
Credit level (Normal year taken)SCQF Level 10 (Year 3 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
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 with examples relevant to processing human speech and language.
Course description This course covers basic high-level concepts of computer programming in general and practical training for writing code in the Python language in particular. The goal is for students to learn to think in terms of computational approaches for solving problems, and then to implement those approaches by writing Python code.

We begin with the basics of computation (e.g. what is a computer? what can it do? how can a question be framed in computational terms?), and then move on to studying the tools that Python offers us as programmers for most of the semester (e.g. data structures, flow control, file input and output, object oriented design, regular expressions and other useful modules, etc). Examples and test problems are frequently taken from the context of speech and language processing, and we focus specifically on processing text and speech audio using Python for a week respectively.

The course does not assume prior experience with Python or any other programming language, so is suitable for beginners in that regard. Note, however, it aims to teach students enough Python to write varied and useful programmes by the end, so the pace must be fast to cover all the required topics. It can be challenging for a beginner to build up the necessary knowledge and skill in the space of a single semester. Sustained commitment to several hours of study and practice each and every week is therefore essential.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: LEL2B: Phonetic Analysis and Empirical Methods (LASC08018)
Prohibited Combinations Students MUST NOT also be taking Computer Programming for Speech and Language Processing (LASC11096) OR Informatics 1 - Functional Programming (INFR08013) OR Informatics 1 - Object-Oriented Programming (INFR08014)
Other requirements None
Information for Visiting Students
Pre-requisitesVisiting students should have completed at least 3 Linguistics/Language Sciences courses at grade B or above. We will only consider University/College level courses.
High Demand Course? Yes
Course Delivery Information
Academic year 2024/25, Available to all students (SV1) Quota:  25
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 200 ( Lecture Hours 6, Supervised Practical/Workshop/Studio Hours 30, Programme Level Learning and Teaching Hours 4, Directed Learning and Independent Learning Hours 160 )
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. The course operates along the lines of a flipped classroom model: students engage with the course website in their own time to cover all pre-recorded video and text material, and then spend up to 4 hours per week working on programming problems and other exercises under supervised lab conditions, i.e. with the lecturer and / or other experienced python programmers on hand to give advice and answer questions. This greatly increases opportunities for targeted interaction with the lecturer, tutors and fellow classmates.

2. Some exercises employ automated testing 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 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 at points throughout the course, both at the whole-class lectures and the in-lab learning setting. Experience has shown students enjoy and appreciate these, as they provide feedback to students about their own level of understanding and developing knowledge.

4. Code review exercises are included at various points, including discussion of carefully chosen examples of good and bad computer code and double-blind peer-review of students' own code. Such code review exercises assist learning by giving opportunities to consider varying code styles and standards, critique the code of others, and to receive informal feedback on one's own coding performance. Code review is widely used in industry, so this is also a valuable transferable skill.
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S1 (December)Computer Programming for Speech and Language Processing - MCQ2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. Understand the basic principles of computer programming
  2. Be familiar with the basics of Python programming language
  3. Be able to address problems from a computational perspective
  4. Write programs to manipulate, reorganise and process speech and text in non-trivial ways
  5. Review and critique computer code written by others
Reading List
'Learning Python' by Mark Lutz is the recommended reading.

In addition, pointers to other online resources for further reader are included on the course website.
Additional Information
Graduate Attributes and Skills Python coding and code review skills, with particular emphasis on speech and natural language processing.
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)
KeywordsNot entered
Course organiserDr Korin Richmond
Tel: (0131 6)51 1769
Course secretaryMs Susan Hermiston
Tel: (0131 6)50 3440
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