| 
 Postgraduate Course: Computer Programming for Speech and Language Processing (LASC11096)
Course Outline
| School | School of Philosophy, Psychology and Language Sciences | College | College of Arts, Humanities and Social Sciences |  
| Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) | Availability | Available to all students |  
| SCQF Credits | 10 | ECTS Credits | 5 |  
 
| Summary | This 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 it must move fairly  quickly 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, and therefore sustained commitment to several hours of study and practice each and every week is essential.
 |  
Entry Requirements (not applicable to Visiting Students)
| Pre-requisites |  | Co-requisites |  |  
| Prohibited Combinations |  | Other requirements | None |  
| Additional Costs | None |  
Information for Visiting Students 
| Pre-requisites | None |  
		| High Demand Course? | Yes |  
Course Delivery Information
| Not being delivered |  
Learning Outcomes 
| On completion of this course, the student will be able to: 
        Understand the basic principles of computer programmingBe familiar with core tools provided by the Python programming language, including its Standard Library, plus selected other modules useful for processing text and speech audioBe able to address problems from a computational perspective, showing initiative to combine the computational building blocks covered in the course in new ways that go beyond course examplesWrite useful programs to manipulate, reorganise and process real-world speech and text data in non-trivial waysReview 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. |  
| Keywords | Speech,Computer programming,Python |  
Contacts 
| Course organiser | Dr Korin Richmond Tel: (0131 6)51 1769
 Email:
 | Course secretary | Ms Sasha Wood Tel:
 Email:
 |  |  |