WM164-30 Smart Solutions Development I (Programming)
Introductory description
The Industry 4.0 revolution is taking place which is also driving every single industry to become more smart and adaptable. Smart and portable devices can display important information on touchscreens using software programs embodied in hardware. As such, programming skills are needed to create reconfigurable, customized and dependable programs that would not be only useful to improve customer experience but will also help the industry to differentiate itself from the other competitors.
Module aims
This module will teach students programming concepts and basic algorithms using modern languages. Students will gain knowledge and hands-on experience on language syntax, data structure, as well as problem-solving skills. The current module builds up the foundation and tightly links to modules such as WM264 Smart Solutions Development-II (Database).
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Variables and constants
Variable types and assignment
Local variables, global variables and global constants
Integers and real numbers
Operators
Mathematical operators
Bit wise operators and logical operators
Loops and decision structures
For loops
While and do-while loop
If/else statements
Switch and case statements
Nested decision structures
Functions
Built-in functions
Passing arguments to functions and returning values
Recursive functions
Version control
Version management
Head, master, origin, branch
Learning outcomes
By the end of the module, students should be able to:
- Explain basic syntax, data structures, and style conventions used in modern programming languages, compare compiled and interpreted languages.
- Describe basic principles of version control systems, and apply those principles for version management.
- Interpret the concepts of algorithm complexity, explain the underlying benefits of memory management and manipulating computer memory directly.
- Describe basic underlying theories of object-oriented programming and design structured code following object-oriented theories.
- Create simple graphic user interface-based applications to solve real-world problems.
Indicative reading list
View reading list on Talis Aspire
Subject specific skills
Programming in C++, Programming in Python, distributed version control using Git, object-oriented programming
Transferable skills
Team working, problem-solving, oral and written communication
Study time
Type | Required |
---|---|
Lectures | 30 sessions of 1 hour (11%) |
Tutorials | 8 sessions of 1 hour (3%) |
Demonstrations | 30 sessions of 1 hour (11%) |
Private study | 196 hours (74%) |
Total | 264 hours |
Private study description
Reading relevant chapters given in the reading list, watching pre-recorded videos, lab tasks, quizzes, programming exercises.
Costs
No further costs have been identified for this module.
You must pass all assessment components to pass the module.
Assessment group A1
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Assessment component |
|||
In Module Assessment | 40% | 12 hours | No |
In Module Assessment - Computer-based in-class test using software development tools |
|||
Reassessment component is the same |
|||
Assessment component |
|||
Post Module Assessment | 60% | 24 hours | Yes (extension) |
Post Module Assessment – Programming source code for a pre-defined project |
|||
Reassessment component is the same |
Feedback on assessment
Feedback will be given as appropriate to the assessment type:
– In Module Assessment: written cohort-level feedback.
– Post Module Assessment: written summative feedback on post module assessment.
Courses
This module is Core for:
- Year 1 of DWMS-H655 Undergraduate Digital and Technology Solutions (Cyber) (Degree Apprenticeship)
- Year 1 of DWMS-H652 Undergraduate Digital and Technology Solutions (Data Analytics) (Degree Apprenticeship)
- Year 1 of DWMS-H653 Undergraduate Digital and Technology Solutions (Network Engineering) (Degree Apprenticeship)
- Year 1 of DWMS-H654 Undergraduate Digital and Technology Solutions (Software Engineering) (Degree Apprenticeship)