Training activity information

Details

Using Python3, create a script to demonstrate:

  • Variables
  • Data structures
  • Pattern matching
  • Loops
  • Conditionals

Type

Developmental training activity (DTA)

Evidence requirements

Evidence the activity has been undertaken by the trainee​.

Reflection on the activity at one or more time points after the event including learning from the activity and/or areas of the trainees practice for development.

An action plan to implement learning and/or to address skills or knowledge gaps identified.

Considerations

  • Variables (global and local), functions, expressions and loops
  • Variable types. for example: string, float, integer
  • Data structures for example: arrays, dictionaries, lists and tuples
  • Pattern matching
  • Errors and exceptions
  • Input and output

Reflective practice guidance

The guidance below is provided to support reflection at different time points, providing you with questions to aid you to reflect for this training activity. They are provided for guidance and should not be considered as a mandatory checklist. Trainees should not be expected to provide answers to each of the guidance questions listed.

Before action

  • How do variables, data structures, pattern matching, loops, and conditionals form the building blocks of software?
  • What is your current proficiency in Python3? Are you familiar with these fundamental programming concepts?
  • How will you apply these concepts in a practical scripting context? What challenges do you anticipate in combining these elements?
  • Will you review Python3 syntax and examples related to these concepts? Will you sketch out a basic script structure beforehand?

In action

  • What specific Python syntax and structures are you implementing for each requirement (variables, data structures, etc.)? Why did you choose this particular implementation?
  • As you are writing the script, are you encountering any errors? How are you identifying and correcting these errors in real-time?
  • Which parts of the scripting process feel straightforward, and where are you needing to think more deliberately about the logic?
  • Are there alternative ways you could achieve the same outcome in Python? What are the trade-offs of the approach you are currently taking?
  • How is the script behaving as you build it? Is it meeting the requirements so far? What adjustments are you making to ensure it does?

On action

  • What were the main components of your Python script? Did it function as you intended? What did you notice about its execution?
  • What did you learn about implementing variables, data structures (e.g., lists, dictionaries), pattern matching, loops, and conditional statements in Python3? Were there any challenges in getting these to work together? What specific Python programming skills did you develop or improve through this scripting activity? In what ways did your reflect-in-action during the scripting process help you to debug or refine your code?
  • Have the implementation guidelines and coding best practices for software development been taken into account during the development process?
  • What will you take from this experience to improve your Python scripting skills? Are there any specific aspects (e.g., a particular type of loop or data structure) you need to explore further?

 

 

Beyond action

  • Looking back at your initial Python script and your ‘reflect-on-action’ notes, how has your understanding of these fundamental programming concepts evolved through subsequent Python-based training activities or other programming experiences?
  • In what ways has your ability to use variables, data structures, pattern matching, loops, and conditionals in Python influenced your approach to tasks in later training activities? For example, did this foundational knowledge make it easier to develop more complex scripts for data manipulation or pipeline creation?
  • Have you encountered scenarios in other training activities or observed practices where these specific Python concepts were crucial? How does your direct experience of implementing them compare to seeing them used in more complex real-world applications?
  • Revisit your reflections from this training activity and compare them with reflections from a training activity where you created a more substantial pipeline. What learning or actions can you identify across these experiences?
  • How will your understanding of these core Python concepts continue to support your future development of more sophisticated bioinformatics tools and analyses? What transferable skills related to logical thinking and problem-solving have you developed through this activity that will be valuable in various aspects of your practice?

Relevant learning outcomes

# Outcome
# 2 Outcome

Use a programming language to create software.

# 3 Outcome

Apply best practice in software development and code testing.