COMP06235 2018 Introduction to Programming 1

General Details

Full Title
Introduction to Programming 1
Transcript Title
Introduction to Programming 1
Code
COMP06235
Attendance
N/A %
Subject Area
COMP - 0613 Computer Science
Department
COMP - Computing & Creative Practices
Level
06 - Level 6
Credit
10 - 10 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
John Weir, Vivion Kinsella
Programme Membership
SG_KAPPL_H08 201800 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KSMAR_H08 201800 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 201800 Bachelor of Science (Honours) in Computing in Software Development SG_KNCLD_H08 201800 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KAPPL_B07 201800 Bachelor of Arts in Computing in Application Design and User Experience SG_KNCLD_B07 201800 Bachelor of Science in Computing in Computer Networks and Cloud Infrastructure SG_KCMPU_H08 201800 Bachelor of Science (Honours) in Computing SG_KSMAR_C06 201800 Higher Certificate in Science in Computing in Smart Technologies SG_KSMAR_B07 201800 Bachelor of Science in Computing in Smart Technologies SG_KGAME_C06 201800 Higher Certificate in Science in Games Development SG_KGADV_B07 201800 Bachelor of Science in Computing in Games Development SG_KAPPL_C06 201800 Higher Certificate in Science in Computing in Application Design and User Experience SG_KSODV_B07 201800 Bachelor of Science in Computing in Software Development SG_KNETW_C06 201800 Higher Certificate in Science in Computing in Computer Networks SG_KSODV_C06 201800 Higher Certificate in Science in Software Development SG_KCMPU_C06 201800 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201800 Bachelor of Science in Computing in Computing SG_KAPPL_H08 201900 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KSMAR_H08 201900 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 201900 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201900 Bachelor of Science (Honours) in Computing SG_KSMAR_C06 201900 Higher Certificate in Science in Computing in Smart Technologies SG_KCMPU_C06 201900 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201900 Bachelor of Science in Computing in Computing SG_KNCLD_B07 201900 Bachelor of Science in Computing in Computer Networks and Cloud Infrastructure SG_KNCLD_H08 201900 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KSODV_B07 201900 Bachelor of Science in Computing in Software Development SG_KNCLD_H08 202000 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KCMPU_H08 202000 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202000 Bachelor of Science (Honours) in Computing in Software Development SG_KSMAR_H08 202000 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KAPPL_H08 202100 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KCNCS_H08 202100 Bachelor of Science (Honours) in Computing in Computer Networks and Cyber Security SG_KCNCS_B07 202100 Bachelor of Science in Computing in Computer Networks and Cyber Security SG_KGADV_B07 202100 Bachelor of Science in Computing in Games Development SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KSODV_H08 202100 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202100 Bachelor of Science (Honours) in Computing SG_KCMPU_C06 202100 Higher Certificate in Science in Computing SG_KCMPU_B07 202100 Bachelor of Science in Computing SG_KSMAR_H08 202100 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202400 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202400 Bachelor of Science (Honours) in Computing SG_KAPPL_H08 202400 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KNCLD_H08 202400 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure
Description

The course shall introduce students the fundamentals of problem solving and programming. During the course, the student will gain knowledge and understanding in problem-solving, the software development lifecycle, development tools and the ability to write programs that make use of fundamental programming constructs.

 

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Explain programming evolution, terms and development process.

2.

Solve problems and develop computer programs in a systematic manner .

3.

Write and compile programs that make use of input and output, assignment and arithmetic operators, string manipulation, selection and repetition structures

4.

Write programs that make use of modularisation. 

5.

Demonstrate the need for and write programs that use arrays.

6.

Create Git repositories, store to Github and work with commits

Teaching and Learning Strategies

Will employ direct instruction, activity based and problem based teaching and learning coupled with independent learning.

Module Assessment Strategies

There will be summative and formative continuous assessment, which will include quizzes and programming exercises.

Summative assessments


Ongoing moodle quizzes incorporating CodeRunner question types

Week3 (5%) Week 6(5%) Week 9(5%)


In class programming  exercises.

Week 4(10%) Week 7 (15%) Week 10 (20%)

Repeat Assessments

Student will be offered both repeat exam and ca

Indicative Syllabus

Explain programming evolution, terms and development process.

  • Brief overview of evolution of computing and programming languages.
  • How a program is executed.
  • Elements of a computer program.
  • The software development lifecycle.

Solve problems and develop computer programs in a systematic manner.

  • Steps involved in problem solving: Understanding the problem, devising a plan, implementing the plan, checking the results.
  • Program description languages and representations: natural language, pseudocode, flow charts and hierarchical diagrams.
  • Implement paper based problem solving exercises and use a tool like Scratch.
  • Edit and compile a program from the command prompt (using a text editor, e.g. notepad ).
  • Use an IDE to start, edit, compile, run and debug a project .
  • The importance of program style and conventions.

 

Write programs that make use of data, input and output, assignment and arithmethic operators, string manipulation, selection and repetition structures.  

  • Variables, data types, constants.
  • Assignment, arithmetic operators and precedence.
  • Type conversion.
  • Keyboard input and output.
  • Formatting output. Using Escape sequences.
  • String Handling. 
  • Using pre-defined classes (e.g Math class) 
  • Simple debugging techniques to trace program flow.
  • Importance of testing your program.
  • Making decisons : boolean expressions, relational operators, logical operators, If, if.. else, if.. else if, nesting, switch
  • Loops: counter controlled and event controlled, while and for loops, nested loops.

 

Write programs that make  use of  modularisation 

  • Concepts of good design - why and how.
  • Using pre-defined and programmer defined library methods.
  • Non return type methods and return type methods.
  • Variable Scope, parameter passing : by value, by reference. 

Demonstrate the need for and write programs that use arrays

  • The need for arrays, what is an array.
  • Declaring an array, populating an array, processing array elements.
  • Two dimension arrays.
  • Array lookup.
  • Passing arrays as parameters.

Work with Git repositories

  • Create a repository
  • Commit code to a repository
  • Push/Pull repository to cloud storage
  • Undo changes

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
60 %
End of Semester / Year Formal Exam
40 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Continuous Assessmrnt Coursework Assessment Assessment 60 % OnGoing 1,2,3,4,5,6
             
             

End of Semester / Year Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Final Exam Final Exam Practical Evaluation 40 % End of Semester 2,3,4,5,6
             
             

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Lecture Theatre Direct Instruction 1 Weekly 1.00
Practical / Laboratory Computer Laboratory Practical Instruction 6 Weekly 6.00
Independent Learning Not Specified Independent Learning 7 Weekly 7.00
Total Full Time Average Weekly Learner Contact Time 7.00 Hours

Module Resources

Non ISBN Literary Resources

 

How to think like a programmer: Problem solving for the bewildered. Paul Vickers, Cenage 2008, ISBN: 9781844809004

C# yellow book, Rob Miles 2016

Murach's C# 2015, ISBN-13: 978-1807774943

C# Programming in Easy Steps Paperback - 12 Dec 2016,by Mike McGrath (Author), ISBN-13:978-1840787191

 

 

URL Resources

There will be a course Moodle website with links to interesting websites, lecture slides, lab sheets, videos, quizzes etc