Introduction to Programming
Rhedir gan School of Computer Science and Electronic Engineering
20.000 Credyd neu 10.000 Credyd ECTS
Trefnydd: Dr William Teahan
To provide an introduction to the fundamental concepts and techniques of programming including: algorithms and computer programs, physical and virtual machines, language processors, data types; control structures; methods; stepwise refinement; arrays; systematic documentation; input/output and file handling.
Indicative content includes:
Types of programming languages and their features; interpretation and compilation; applications; programming environment and library use.
Use of variables; variable names; primitive data types; arithmetic operators; relational operators; boolean operators; evaluation of arithmetic and boolean expressions; assignment of values to variables; strings; arrays; array algorithms.
Concept of an algorithm; basic control structures - sequencing, selection and iteration; code blocks; if and switch statements; use of for, do and while loops; loop conditions; nested loops; basic input/output facilities pseudo-code as a design and documentation aid.
White box and black box view of program modules; method/function components header and body; method/function signatures; parameters; solving problems using stepwise refinement; block structure and variable scope; recursion and recursive methods/function.
Permanent and volatile storage; the concept of a file; structure of a text file; methods for file I/O; binary data and files; formatting output.
Correct use of code indentation, use of comments; choice of variable, naming conventions..
Equivalent to the range 70%+. Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.
Equivalent to 50%. Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.
Equivalent to the range 60%-69%. Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.
Design and build a complex applications using a range of programming techniques using established techniques.
Select appropriate program structures and features of a programming language for a given situation.
Write programs which adhere to style and documentation guidelines.
A series of assessed laboratories, building all the necessary programming skills. (4 labs, each worth 12.5%).
|GWAITH CWRS||Mini Project||
An opportunity to develop programming skills and explore the programming language further
Strategaeth addysgu a dysgu
1 hour per week
laboratory session for practice 3 hours per week
- Rhifedd - Medrusrwydd wrth ddefnyddio rhifau ar lefelau priodol o gywirdeb
- Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
- Hunanreolaeth - Gallu gweithio mewn ffordd effeithlon, prydlon a threfnus. Gallu edrych ar ganlyniadau tasgau a digwyddiadau, a barnu lefelau o ansawdd a phwysigrwydd
- Archwilio - Gallu ymchwilio ac ystyried dewisiadau eraill
- Adalw gwybodaeth - Gallu mynd at wahanol ac amrywiol ffynonellau gwybodaeth
- Hunanymwybyddiaeth & Ystyried - Bod yn ymwybodol o'ch cryfderau, gwendidau, nodau ac amcanion eich hun. Gallu adolygu ,cloriannu a myfyrio'n rheolaidd ar eich perfformiad eich hun ac eraill.
Sgiliau pwnc penodol
- Identify emerging technologies and technology trends;
- Apply underpinning concepts and ideas of engineering;
- Use of such knowledge in modelling and design
- Problem solving strategies
- Deploy theory in design, implementation and evaluation of systems
- Knowledge of management techniques to achieve objectives
- Specify, design or construct computer-based systems
- Deploy tools effectively
- Development of general transferable skills
- Methods, techniques and tools for information modelling, management and security
- Specify, deploy, verify and maintain information systems
- Defining problems, managing design process and evaluating outcomes
- Knowledge and/or understanding of appropriate scientific and engineering principles
- Knowledge and understanding of computational modelling
Rhestrau Darllen Bangor (Talis)http://readinglists.bangor.ac.uk/modules/ice-4101.html
"Fundamentals of Python Programming", Richard L. Halterman. Southern Adventist University and Internet Archive. Available at: https://archive.org/details/2018Fundamentals.ofPython
"Think Python 2nd Edition", Allen B. Downey. O'Reilly. ISBN-13: 978-1491939369. ISBN-10: 1491939362. Available at: http://greenteapress.com/thinkpython2/thinkpython2.pdf
"Learning Python, 3rd Edition", Mark Lutz. O Reilly ISBN: 0-596-51398-6.