AC1101 Introduction to Software Design - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

AC1101 Introduction to Software Design

Description:

'Applied Computing is about the design and implementation of original and ... if statements taken from Waite, M, Prate, S, Martin D (1987) C Primer Plus. ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 62
Provided by: computing96
Category:

less

Transcript and Presenter's Notes

Title: AC1101 Introduction to Software Design


1
AC1101Introduction to Software Design
2
This weeks sessions at 9am
  • Today Introduction to the course
  • Tuesday Working together
  • Wednesday Managing your study
  • Thursday First practicals
  • Friday The course in miniature

3
What is Applied Computing?
  • Applied Computing is about the design and
    implementation of original and imaginative
    solutions to meet the needs of users, and about
    communicating these solutions in a professional
    way.

4
Applied Computing in AC1101
  • Design
  • Implementation
  • Needs of users
  • Communicating
  • Professionalism
  • ENJOYMENT

5
What You Will Learn in Practice
  • Establishing requirements
  • User-centred approach
  • Software design
  • Problem solving
  • Computer programming
  • in the C programming language
  • Reporting communicating
  • Documenting

6
Skills
  • Programming through problem solving
  • Program development tools
  • Practical skills in Windows environment
  • Simple structured design methods
  • Problem solving strategies
  • Working independently
  • Communicating your plans, results etc
  • written, oral, visual

7
A Typical Week ...
  • 5 one hour sessions ... one a day, 9-10am
  • We talk to you (introduce topics on Monday)
  • You do things (on your own in groups)
  • We all discuss things solve problems
  • A WORKSHOP approach
  • Professional issues
  • 1 laboratory session of 2 hours
  • Computing clinic support

8
Software Development Performance Curve
High
Coding Rate
Syntax Errors
Low
Low
High
Knowledge
9
Support Mechanisms
  • Talk to staff and lab tutors!
  • Ask questions during sessions
  • Individually
  • Course meeting Fridays at 9am
  • e-mail forum AC-1_at_computing
  • Computing clinic
  • Course web site via the Course Guide

10
Succeeding in AC1101
  • Coursework 40
  • Class Examination
  • Week 12 (i.e. term 2)
  • Degree Examination 60
  • Summer term
  • Pass both Coursework and Exam
  • (Pass 40)
  • EXEMPTION from the AC1101Degree Exam
  • 60 in Coursework
  • 60 in Class Exam

11
Coursework Deliverables
  • Lab reports, including Requirements Design for
    project (25)(all this term)
  • Fully developed project in term 2 (15)
  • A PORTFOLIO OF WORK
  • ALL DELIVERABLES DUE AT START OF LECTURE ON
    TUESDAY OF THE WEEK SHOWN IN THE COURSE GUIDE

12
What is a Portfolio?
  • Your Log book
  • Diary of effort
  • Rough notes/ sketches
  • Lab reports
  • Code listings (documented!)
  • Project software and report
  • Presentation (e.g. poster, handout)

13
Handing in Deliverables ...
  • Reports and program listings should be printed.
    Submit coursework on 3.5 inch disk as well.
  • Programs must include your C source code, the
    compiled working (or not!) program (.exe file)
    and any data files that are needed to run the
    program
  • Reports must be Word files
  • All work must have a dated, signed cover sheet
  • Hand work in at Tuesday lecture session
  • All work must be marked with your NAME the
    deliverable number (e.g. AC1101.3a)
  • All files must be in a directory with the number
    of the deliverable (e.g. AC1101.3)

14
A Note on Viruses ...
  • NO VIRUSES PLEASE!

15
Practical Work Organisation ...
  • Tutors
  • Lab sessions on Thursday afternoon
  • 2 - 4 pm or 4 - 6 pm in the East West labs in
    the MicroCentre
  • Timetable of bookings for the lab
  • First come, first served at other times

16
5 things to do this week (1)
  • Make sure you can login to OUR system and can use
    e-mail to read and write messages
  • Start looking at C programming textbooks
  • Buy something to use as your log book
  • Buy some 3.5 inch disks
  • Carefully read the AC 1101 Course Guide and
    Applied Computing in First Year
  • Get to know people in the class

17
AC1101TuesdayWorking together
18
Today working together
  • University vs. School differences
  • Brainstorming
  • Working with others
  • What do you expect of us
  • What do we expect from you

19
School vs University
  • What are the major differences?
  • Subtle differences?
  • Similarities?
  • Talk to your neighbour for 5 minutes make notes
  • Lets discuss

20
Brainstorming
  • A way of getting loads of ideas quickly
  • Great for starting a project off
  • How to do it
  • Everyone shouts out ideas
  • ALL ideas accepted without judgement
  • Someone writes them where everyone can see them
  • Discuss/refine

21
Why do people go to University?
22
Working with others (1)
  • Getting it right
  • How do you expect people to behave in class?
  • What is unreasonable behaviour in a computer
    lab?
  • Discuss make notes

23
Working with others (2)
  • Some discussion ideas
  • Playing computer games
  • Food and drink
  • Mobile phones
  • Keeping clean/ hygiene and awkward stuff
  • Internet behaviour
  • Locking machines
  • Cheating
  • Basic manners

24
Working with others (3)
  • What do you do if someone is not behaving
    reasonably?
  • For serious abuses there is behave_at_computing
  • Or talk to a member of staff

25
Working with others (4)
  • What should you expect of staff?
  • What should staff be able to expect of you?
  • Talk to your neighbours for 5 minutes lets
    discuss that, too.

26
What do we expect from you?
  • WE will help you to get maximum benefit from this
    course and provide support for you to learn
    effectively
  • YOU are responsible for and in control of your
    learning
  • YOU take full notes at lectures and review them
  • YOU study independently
  • YOU hand in deliverables - and on time
  • If you get stuck - YOU seek help
  • YOU read your e-mail at least ONCE A DAY and
    reply when appropriate
  • YOU take a full part in activities

27
AC1101WednesdayManaging you study
28
Today
  • Note taking
  • Time management
  • Log book
  • Plagiarism cheating

29
When you go to lectures
  • Handouts sometimes
  • Access to overhead slides
  • Things to do then
  • Listen
  • Take part in discussions
  • TAKE NOTES
  • Review them later

30
Note taking - exercise
  • Notes of presentation are on your handout
  • Listen to the presentation and make your own
    notes
  • After, review and compare your neighbours notes

31
Structure Diagrams
32
Structure diagrams
  • What are they used for
  • What do they look like
  • How are they created in Word 2002

33
Structure diagrams What are they used for?
  • Method to create the general layout of your
    program (without coding)
  • To break down a general problem into smaller
    chunks (Top-down design)
  • Write down functions that the program should
    fulfil (in a hierarchical manner)
  • Main program -gt Collection of chunks of
    functions
  • Most simple chunks
  • Input - Processing - Output

34
Structure diagrams What do they look like?
Update
Chequebook
35
Structure diagramsCreating them in Word 2002
  • Open new Word file
  • From Menu select Insert Diagram
  • Diagram Gallery
  • Inserting boxes
  • Select Insert Shape from the menu and select what
    you want to add
  • Set cursor in box to which you want to add
    another box

36
Time management
37
Log book
  • Log-book collection of your thoughts, work etc.
  • Serves two main purposes
  • Recording the development of your ideas.
  • A diary of effort.
  • A Log-book hand-out is provided.

38
Recording the development of ideas
  • Can think of it as a sketch book for software
    development.
  • No strict format.
  • Should contain
  • Rough work
  • Ideas and designs
  • Programming notes
  • Anything else YOU think is relevant

39
A diary of effort
  • The start of the Log-book should contain a record
    how much time you spend on AC1101.
  • Calculate how much time you have available per
    week for AC1101.
  • Note how much time you spend and what you did.
    This should include lectures, labs, tutorials,
    assignments personal study.

40
Plagiarism cheating
  • What is your own work?
  • When is it OK to use other peoples work
  • from books and the internet
  • from other students
  • What is plagiarism?
  • Discuss with your neighbour
  • take notes

41
Example 1a Program produced by student a
  •  void main()
  • int score, big, joe, ron, cash, joecash
  • score0
  • big10
  • joe3000
  • ron1000
  • joecashjoe
  •  /if statements below/
  •  
  • if(scoregtbig)
  • printf(Jackpot!\n) /simple statement/
  •   if(joegtron)
  • joecash
  • printf(You loose Ron.\n)
  • /compound statement/
  •  
  • /if statements taken from Waite, M, Prate, S,
    Martin D (1987) C Primer Plus. Howard W. Sams
    Company Indianapolis, USA. pp. 165/

42
Example 1b Program produced by student b
  • void main()
  • int scores, bigger, joe, ron, cash, joescash
  • scores0
  • bigger10
  • joe3000
  • ron1000
  • joescashjoe
  •  
  • /if statements below/
  •  
  • if(scoregtbig)
  • printf(Jackpot!\n) /simple statement/
  •  
  • if(joegtron)
  • joecash
  • printf(You loose Ron.\n)
  • /compound statement/

43
Example 2a C-code snippet produced by student c
  • /
  • Wind Chill for exposed human skin, expressed
    as a function of wind
  • speed in Miles per Hour and temperature in
    degrees Fahrenheit.
  • Public domain from numerous published
    references.
  • /
  • include ltmath.hgt
  • double wind_chill(int wind_speed, int temp)
  • if (4 gt wind_speed)
  • return (double)temp
  • else
  • return (((10.45 (6.686112 sqrt((double)
    wind_speed))
  • - (.447041 wind_speed)) / 22.034 (temp -
    91.4)) 91.4)

44
Example 2b C-Code snippet produced by student d
  • /
  • Wind Chill for exposed human skin, expressed
    as a function of wind
  • speed in Miles per Hour and temperature in
    degrees Fahrenheit.
  • /
  • include ltmath.hgt
  • double WindChill(int WindSpeed, int temp)
  • if (4 gt WindSpeed)
  • return (double)temp
  • else
  • return (((10.45 (6.686112 sqrt((double)
    WindSpeed))
  • - (.447041 WindSpeed)) / 22.034 (temp -
    91.4)) 91.4)

45
Example 3a C-code snippet produced by student e
  • Student e writes
  • This C- code snippet was created by myself and
    my pal Bill Smith
  •  
  •  
  • printf(This code was done by me!\n)
  • printf(Dont doubt that.\n)
  •  

46
Example 3b C-code snippet produced by student
Bill Smith
  •  
  • printf(This code was done by me!\n)
  • printf(Dont doubt that.\n)

47
AC1101Thursday First practical
sessionPersonal safety (DUSA)
48
Today
  • Looking at resources in more detail
  • Internet
  • Books
  • This afternoons practical session
  • Personal safety on campus

49
Looking at internet resources in more detail
  • Internet - who has accessed the internet?
  • What is a search engine?
  • A program that receives your search request,
    compares it to the entries in the index, and
    returns results to you
  • Applied computing website.
  • http//www.computing.dundee.ac.uk
  • What information could be found here?
  • University website.
  • http//www.dundee.ac.uk

50
Looking at resources in more detail
  • Applied computing internet resource
  • http//www.dundee.ac.uk
  • What information can be found here?

51
Applied computing website. Information for
students
  • Information for students
  • Course guides
  • Timetables
  • Student handbook
  • And a lot more.

52
AC1101 Course Guide
  • What is in the AC1101 course guide
  • Course information
  • Lecture slides
  • Assignments information
  • And a lot more.lets have a look.

53
University website. Resources for students
  • Got to the http//www.dundee.ac.uk and click on
    the link to Current Students
  • Resources for current students
  • Transferable skills
  • Support services
  • Financial information
  • And a lot more.

54
Internet search engines
  • There are many search engines.
  • A widely used search engine is Google as it is
    (usually) quick and not as commercial as some
    others (http//www.google.com/).
  • There are many others including
  • AltaVista (http//www.altavista.com/),
  • Lycos (http//www.lycos.com/),
  • Webcrawler (http//www.webcrawler.com/),
  • Yahoo (http//www.yahoo.com/),

55
What is out there?
  • There are many web sites with information on
    software development and c programming.
  • Detailed descriptions.
  • How to do this guides.
  • Example code.
  • Internet resources are of distinctly VARYING
    quality.
  • There are a huge number of possibly useful
    websites.
  • Cannot guarantee that the information is always
    correct.
  • Example code may not always run correctly.

56
Finding an internet resource.
  • Lets try to find a Hello world program.
  • What would you type into the search engine?
  • C program hello world
  • Compare results using Google and Altavista.

57
Books
  • The library
  • There are a large selection of books on Software
    Development and c programming
  • Recommended book list
  • See the AC1101 Course guide!

58
Exercises
  • Grab someone as a team
  • Find a book on C programming in the library
    (after the lecture!)
  • In this afternoons lab
  • Browse and become familiar with the Applied
    Computing web pages.
  • Create a text document and send it as a zipped
    attachment.
  • Use internet search engines to compile a list of
    useful resources.
  • A lab sheet will be provided with detailed
    instructions.

59
AC1101FridayThe course in miniature
60
Cryptography
  • We have to produce a computer program to encipher
    text messages using a monoalphabetic substitution
    cipher
  • Given the plaintext phrase
  • the quick brown fox
  • the program will produce the ciphertext
  • aoq ebmlz ushfp whg
  • The translation uses this conversion table
  • cipherabdfgjk
  • lmnoqstuvwxyz
  • Each character in the plaintext is replaced by
    the character in the row above or below it in the
    table

61
And finally
  • See you next Monday!
Write a Comment
User Comments (0)
About PowerShow.com