Academic Handbook Course Descriptors and Programme Specifications
LCSCI4207 Fundamentals of Computer Science I Course Descriptor
Last modified on December 19th, 2024 at 4:08 pm
Course code | LCSCI4207 | Discipline | Computer Science |
UK credit | 15 | US credit | 4 |
FHEQ level | 4 | Date approved | November 2022 |
Core attributes | Engaging with the Natural and Designed World (ND); Conducting Formal and Quantitative Reasoning (FQ) | ||
Pre-requisites | None | ||
Co-requisites | None |
Course Overview
This course is an introduction to computing and programming. Its primary goal is to introduce students to the principles of systematic problem solving through programming and the basic rules of computation.
By the end of this course, students will have a sense of the differences between a programmer and a well-trained software engineer. Students will also have a sense of the complexities involved in developing solid software and be able to apply their knowledge to solve many non-computational problems in a systematic way (incl. analytic reading, synthesis, goal setting, planning, plan execution, and testing).
The course does not assume any prior programming experience. It is suitable for all students who wish to explore the ideas behind the discipline of computer science. The course does assume, however, some familiarity with arithmetic and algebra, and it demands curiosity, self-discipline, and the capacity to work well with others.
Learning Outcomes
On successful completion of the course, students will be able to:
Knowledge and Understanding
K1a | Demonstrate knowledge and understanding of the underlying principles and concepts of programming. |
K2a | Demonstrate knowledge and understanding of program design principles and concepts such as parametric polymorphism (e.g., generic functions and data types), generative recursion, and accumulators. |
K3a | Demonstrate an understanding of the technical, social and management dimensions of programs, their extensibility and correctness, in real-world applications. |
Subject Specific Skills
S1a | Complete a data analysis of a problem statement and describe the data required to solve a problem; create input and output examples of the data to describe the desired functionality of a program that solves the problem at hand; and use aforementioned examples for testing. |
S2a | Plan an iterative approach to solve large problems; and design scalable, abstract data collections to solve growing problems. |
S3a | Compose programs from several functions and data collections, either sequentially (e.g., for batch applications) or using event-based features (e.g., for web applications). |
Transferable and Employability Skills
T1a | Make reasoned discussions and contributions in group settings, fostered through collaborative work during lab sessions. |
T3a | Display a developing technical proficiency in written English and an ability to communicate clearly and accurately in structured and coherent pieces of writing. |
Teaching and Learning
This course has a dedicated Virtual Learning Environment (VLE) page with a syllabus and range of additional resources (e.g. readings, question prompts, tasks, assignment briefs, discussion boards) to orientate and engage students in their studies.
The scheduled teaching and learning activities for this course are:
- Lectures/labs. 40 scheduled hours – typically including induction, consolidation or revision, and assessment activity hours:
- Version 1: All sessions in the same sized group, or
- Version 2: most of the sessions in larger groups; some of the sessions in smaller groups
Faculty hold regular ‘office hours’, which are opportunities for students to drop in or sign up to explore ideas, raise questions, or seek targeted guidance or feedback, individually or in small groups.
Students are to attend and participate in all the scheduled teaching and learning activities for this course and to manage their directed learning and independent study.
Indicative total learning hours for this course: 150
Assessment
Both formative and summative assessment are used as part of this course, with purely formative opportunities typically embedded within interactive teaching sessions, office hours, and/or the VLE.
Summative Assessments
AE: | Assessment Activity | Weighting
(%) |
Duration | Length
(words) |
1 | Set Exercises | 30 | 1.5 – 2 hours | |
2 | Project | 40 | 24 – 32 hours | |
3 | Project | 30 | 24 – 32 hours |
Further information about the assessments can be found in the Course Syllabus.
Feedback
Students will receive formative and summative feedback in a variety of ways, written (e.g. marked up on assignments, through email or the VLE) or oral (e.g. as part of interactive teaching sessions or in office hours).
Indicative Reading
Note: Comprehensive and current reading lists are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is for a general guide and part of the approval/modification process only.
Matthias Felleisen, Robert B. Findler, Matthew Flatt, and Shriram Krishnamurthi. 2014. How to Design Programs, Second Edition. MIT Press. Available at htdp.org.
Indicative Topics
Note: Comprehensive and current topics for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative topics provided below are used as a general guide and part of the approval/modification process only.
- Fixed-size data (numbers, characters, enumerations) and operations on them
- Arbitrary large data structures (e.g., lists, graphs, trees) and operations of them
- Designing functions with fixed-size and arbitrary large data
- Designing functions with abstractions
- Generative recursion
- Examples of real-world programs (e.g., batch or event-driven)
Version History
Title: LCSCI4207 Fundamentals of Computer Science I
Approved by: Academic Board Location: academic-handbook/programme-specifications-and-handbooks/undergraduate-programmes |
|||||
Version number | Date approved | Date published | Owner | Proposed next review date | Modification (as per AQF4) & category number |
2.0 | August 2023 | August 2023 | Dr Alexandros Koliousis | November 2027 | Category 2: Change to summative assessment |
1.0 | November 2022 | January 2023 | Dr Alexandros Koliousis | November 2027 |