Skip to main content Skip to navigation

WM164-30 Smart Solutions Development I (Programming)

Department
WMG
Level
Undergraduate Level 1
Module leader
Jianhua Yang
Credit value
30
Module duration
17 weeks
Assessment
100% coursework
Study location
University of Warwick main campus, Coventry

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)