Bachelor of Science (BSc)
BSc Computer Science
- Typical A-level offer: A*A*A including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Refugee/care-experienced offer: AAB including specific subjects
- Typical International Baccalaureate offer: 38 points overall with 7,7,6 at HL, including specific requirements
Course unit details:
Software Engineering 1
Unit code | COMP23311 |
---|---|
Credit rating | 10 |
Unit level | Level 2 |
Teaching period(s) | Semester 1 |
Offered by | Department of Computer Science |
Available as a free choice unit? | No |
Overview
While software engineering tends to involve a lot of programming, it is not synonymous with programming. Software Engineering is more concerned with the processes that are involved in the definition, creation, improvement, deployment, and maintenance of software artifacts. The course is a mixture of theoretical and practical work. The course allows students the opportunity to not only acquire the technical skills beneficial to a career in Software Engineering, but to also develop a critical understanding of how various social and technical phenomena may affect the profession going into the future.
Pre/co-requisites
Unit title | Unit code | Requirement type | Description |
---|---|---|---|
Introduction to Programming 1 | COMP16321 | Pre-Requisite | Compulsory |
Introduction to Programming 2 | COMP16412 | Pre-Requisite | Compulsory |
Aims
The unit aims to:
- acquaint students with software engineering as an intellectual discipline and as a profession and
- equip them with basic knowledge and skills required of a competent junior software engineer.
Learning outcomes
- Describe fundamental concepts in software engineering (including complex systems, stages of development lifecycle, quality assurance, testing).
- Perform basic development management tasks (e.g., planning, estimation, problem description, issue tracking)
- Perform basic software construction tasks (e.g., design, debugging, refactoring, artifact management) in the context of a development project.
- Interpret, evaluate, and create a variety of technical analyses and assessments (e.g., of libraries or technologies) and present results at various levels of detail (e.g., to colleagues vs. to managers vs. to customers).
- Describe relations between technical details and business, social, and ethical values.
- Assess the effects of social and technical trends on projects and the profession (e.g., how generative AI affects product development and, as a product, society).
- Complete a small scale, “from scratch” software engineering project from start to finish comparable to what would be needed for a 3rd year project.
Syllabus
|
Teaching and learning methods
Lectures
1 introductory lecture in semester 1, week 1.
Workshops
One 2 hour workshop each week. In these sessions, you will gain practical, hands-on experience of the techniques being taught.
Team Study Sessions
Two 1 hour sessions per week. In these sessions you will:
- Work with your team on the team coursework
- Meet your industrial mentor (2 sessions per team)
- Get your team coursework marked in a face-to-face interview (3 sessions per team).
Offline Study
A number of off-line study activities and readings are provided, that build on and consolidate the topics covered in workshops. These are compulsory and are assessed in the coursework and exam.
Employability skills
- Analytical skills
- Group/team working
- Innovation/creativity
- Leadership
- Project management
- Oral communication
- Problem solving
- Written communication
Assessment methods
Method | Weight |
---|---|
Written exam | 70% |
Practical skills assessment | 30% |
Feedback methods
Staff and TAs will be on hand to provide face-to-face informal feedback during workshops and team study sessions.
The RoboTA system will provide continuous feedback on aspects of the team marking system, using the Jenkins continuous integration system.
TAs will also provide written and verbal feedback on coursework, once marking is complete.
Recommended reading
COMP23311 reading list can be found on the Department of Computer Science website for current students.
Study hours
Scheduled activity hours | |
---|---|
Lectures | 22 |
Practical classes & workshops | 11 |
Independent study hours | |
---|---|
Independent study | 67 |
Teaching staff
Staff member | Role |
---|---|
Bijan Parsia | Unit coordinator |
Additional notes
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.
course textbook https://software-eng.netlify.app/