INTRODUCTION TO COMPUTATIONAL THINKING FOR TRANSLATORS - 2024/5
Module code: TRAM500
The purpose of this module is to develop problem-solving skills, enabling students to acquire basic and intermediate concepts of computer science and programming, and to learn how to apply them to problems related to translation-related tasks such as glossary creation, error analysis, automatic substitution. Topics to be covered include computational thinking, basic programming concepts such as fundamental data types, control structures, organising programs into functions and modules, as well as practical examples how this knowledge can be applied for extracting statistics from corpora, cleaning translation memories and preparing data for experiments and analyse the results.
Students will learn how to analyse a problem, design solutions and implement them in a chosen programming language. The programming language to be used in this module is Python. Students will learn not only how to implement solutions in Python, but they will also gain the skills to analyse existing pieces of code and understand how to adapt them for their needs. Practical sessions will give participants hands-on experience in writing Python programs individually and in teams. The practical sessions will greatly enhance students’ problem-solving skills and resourcefulness.
The module will also introduce students to powerful toolkits commonly used in language processing such as NLTK and SpaCy. The module is intended for students who have no programming experience, but students with programming background interested in learning Python and how it can be used in the area of translation technology will also benefit from it.
School of Literature and Languages
ORASAN Constantin (Lit & Langs)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 7
Module cap (Maximum number of students): N/A
Overall student workload
Independent Learning Hours: 106
Seminar Hours: 22
Guided Learning: 11
Captured Content: 11
Prerequisites / Co-requisites
Indicative module content:
- Key notions of computer science and programming, how to analyse problems and design appropriate solutions
- Basic python notions (data structures, syntax, functions, etc)
- Important NLP toolkits such as NLTK and SpaCy
- Automatic processing of multilingual texts
- Automatic extraction of statistics from corpora
- Regular expressions
|Unit of assessment
|Practical based assessment
|Portfolio containing solutions to exercises given during the semester and reflective comments on the solutions
|Practical based assessment
|In-class practical task
The assessment strategy is designed to provide students with the opportunity to demonstrate:
* knowledge of the important concepts and paradigms of programming.
* ability to analyse and design solutions to problems from translation technology
* knowledge of how to use existing code and NLP toolkits, and develop simple programs to help them accomplish tasks related to translation
Thus, the summative assessment for this module consists of:
- Portfolio of Solutions to the Exercise and Reflective Comments on the Solutions (60%)
Students will be given practical homework every two weeks and will be asked to prepare a portfolio with their answers to the homework. In some cases, students will be asked to write "small essays" (200 - 250 words) explaining how they used some tools, whilst in other cases they will need to provide documented code. The portfolios can be seen as a diary of the practical activities covered in this module. The solutions are expected to indicate any problems that the students encountered and how they solved them. In order to pass, the students will have to submit all the homework. For the homework given in the first eight weeks, the solutions will be discussed in class and the students will have the chance to update their portfolios with reflective analysis of their initial solutions. All the pieces of homework given during the semester will have to be included in the final portfolio and the marking will focus on both how the solution was achieved and on the reflective analysis. The portfolios will be due at the end of the semester.
- Open Book Practical Task to Take Place in Class (40%)
Students will have to solve a number of practical unseen exercises by having access to all lecture notes.
Formative assessment will focus on student participation and class discussions throughout the module. The solutions for the homework given in the first eight weeks will be discussed in the class.
The students will be able to discuss their solutions to the homework before submitting the portfolio.
Students will be provided with detailed written feedback following assignment submission. Verbal feedback will also occur in class and individual appointments if required.
- The module aims to: provide students with a thorough understanding of the basic and intermediate concepts from computer science and programming
- give students the means to analyse a given problem, decompose it into subproblems at the required level of detail, and then design an appropriate implementation
- give students hands-on experience in how to implement solutions using Python
- develop students' skills to understand existing pieces of code and learn how to adapt them for their needs
- introduce students to the most important toolkits that can be used for language processing with emphasis on those that are most relevant to translation technologies
|By the end of the module students will be able to: demonstrate a thorough understanding of the basic and intermediate concepts from computer science and programming
|Develop computational thinking and problem solving skills that can be applied to every day tasks
|Demonstrate ability to analyse and implement computational solutions for problems from the field of translation
|Demonstrate intermediate knowledge of Python
|Demonstrate ability to communicate solutions in writing using the required conventions of the field of computer science
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
Methods of Teaching / Learning
The learning and teaching strategy is designed to provide students with problem-solving skills and a good understanding of computer science and programming with emphasis on how they can be used to tackle problems from translation. By the end of the module, students will feel confident of their ability to write small programs that allow them to accomplish useful goals related to translation technology. This is in line with the MA in Translation’s overall aims of enhancing students’ background in technologies for translation, as well as enhancing their employability and resourcefulness and resilience.
The learning and teaching methods include:
- Seminars and workshops will be interspersed with opportunities for group and whole class discussions
- Contact hours will be complemented with materials and activities for guided study posted on SurreyLearn
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Upon accessing the reading list, please search for the module using the module code: TRAM500
Surrey's Curriculum Framework is committed to developing graduates with strengths in Employability, Digital Capabilities, Global and Cultural Capabilities, Sustainability and Resourcefulness and Resilience. This module is designed to allow students to develop knowledge, skills and capabilities in the following areas:
This module involves practical problem-solving skills that teach a student how to reason about and solve unseen problems. The main focus of the module is on problems related to translation, but the computational thinking developed as a result of successfully completing the module can prove useful for everyday problems enhancing their Resilience and Resourcefulness. The design of the module will encourage active participation, peer support and reflective engagement. Students will be encouraged to reflect on their own performance on the basis of formative feedback they receive.
The students are expected to engage with online materials and a variety of software libraries and existing APIs. They will learn how and where to access data and code, evaluate their relevance to the problem at hand and how to use them to solve their problems. Successful completion of the coursework requires persistence to engage in the process of trial and error that is needed to explore potential solutions. Overall, this module will enhance students’ Digital Capabilities.
This module will improve students’ Employability by diversifying the employment avenues available to them. The technical and problem-solving skills acquired in this module, will prepare the students to take jobs in companies that employ advanced technologies in the translation process. Even if the students choose to be freelance translators, they will be able to accept a wider range of jobs. The module will also enable students to apply for jobs in data science.
Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2024/5 academic year.