Fundamentals of Computer Programmming
About the course
Brief Introduction to the Module
This main aim of this module is to prepare students with the skills to be able to effectively cope with the challenges and difficulties of learning programming as well as the design and analysis of algorithms which are covered in depth in Year 2.
Educational Aims of the Module
The educational aims of module are to: (1) introduce some fundamental concepts of and techniques in programming: imperative programming; repetition and code reuse; and conditionals; loops; (2) give an overview of algorithms design and analysis; (3) provide students with knowledge of problem-solving strategies in programming; allow students to gain experience working with in small groups; (4) provide students opportunities to work with contemporary pedagogical tools that are visual and tangible to support their learning.
Methods of Learning and Teaching
Students will be expected to attend a two-hour formal lecture, followed by another two hours of lab tutorials on a weekly basis. In the lectures, students will be introduced to the academic and theoretical content as well as the practical skills which are the subject of the module. In the lab tutorials, students are expected put into practice the content and skills discussed in the lectures. In addition, students will be expected to devote approximately 3-6 hours of unsupervised time to work in the computer lab and to do private study. Time in the computer lab will be devoted to work on assignments, while private study will give time for students to reflect on the content of the lectures and conduct background reading.
A combination of continuous assessment tasks and one in-class examinations will be used to test to which extent theoretical content and practical skills have been learned. In addition, in groups of 3-4 students will be working on a small project in which they will build a robot and program it to solve 2 challenges.
About the teacher
Dr. Hai-Ning Liang is a Professor with the Department of Computing, School of Advanced Technology at Xi'an Jiaotong-Liverpool University. He is the Founding Head of the Department of Computing. He completed his PhD in computer science from Western University, Canada. His PhD studies were supported by a Postgraduate Research Scholarship by the Natural Sciences and Engineering Research Council of Canada. He is an award winning academic and researcher. Some of his awards include the Suzhou Teaching Achievement Award (First Prize iin 2016), Suzhou Undergraduate Excellent Teaching Team (2020), and Jiangsu Department of Education Excellent Final Year Dissertations (Third Prize in 2018; Second Prize in 2019). His research interests fall in the area of human-computer interaction, with a focus on virtual/augmented, visualization, and gaming technologies. He has published extensively in top internationally ranked conferences and journals.
All materials are contributed by Xi'an Jiaotong-Liverpool University.