Browse by Tags: java

Up a level
Export as [feed] Atom [feed] RSS 1.0 [feed] RSS 2.0
Number of items: 80.
  1. [img]
    Preview
    [img]
    Preview
    01 - Programming Principles: Introduction to Java
    In this lecture we look at key concepts in Java: how to write, compile and run Java programs, define a simple class, create a main method, and use if/else structures to define behaviour.

    Shared with the World by
    Prof David Millard
  2. [img]
    02 - Programming Principles: Variables, Primitives, Objects and Scope
    In this session we look more closely at the way that Java deals with variables, and in particular with the differences between primitives (basic types like int and char) and objects. We also take an initial look at the scoping rules in Java, which dictate the visibility of variables in your program

    Shared with the World by
    Prof David Millard
  3. [img]
    03 - Programming Principles: Methods
    In this session we look at how to create more powerful objects through more powerful methods. We look at parameters and call by value vs. call by reference; return types; and overloading.

    Shared with the World by
    Prof David Millard
  4. [img]
    Preview
    [img]
    Preview
    04 - Programming Principles: Computational Thinking
    In this session we look at how to think systematically about a problem and create a solution. We look at the definition and characteristics of an algorithm, and see how through modularisation and decomposition we can then choose a set of methods to create. We also compare this somewhat procedural approach, with the way that design works in Object Oriented Systems. We also have a brief look at codings style in Java, with the help of the Google Java Style Guide: https://google.github.io/styleguide/javaguide.html

    Shared with the World by
    Prof David Millard
  5. [img]
    Preview
    05 - Programming Principles: Encapsulation and Constructors
    In this session we look at the public and protected keywords, and the principle of encapsulation. We also look at how Constructors can help you initialise objects, while maintaining the encapsulation principle.

    Shared with the World by
    Prof David Millard
  6. [img] [img]
    Preview
    06 - Programming Principles: Loops and Arrays
    In this session we look at the different types of loop in the Java language, and see how they can be used to iterate over Arrays.

    Shared with the World by
    Prof David Millard
  7. [img] [img]
    Preview
    07 - Programming Principles: Collections and Iterators
    In this session we look at how we can use collection objects like ArrayList as a more advanced type of array. We also introduce the idea of generics (forcing a collection to hold a particular type) and see how Java handles the autoboxing and unboxing of primitives. Finally we look at Iterators, a common design pattern for dealing with iteration over a collection.

    Shared with the World by
    Prof David Millard
  8. [img] [img]
    Preview
    08 - Programming Principles: The Java Library
    In this session we point you at the Java Library, and go into some more details on how Strings work. We also introduce the HashMap class (a very useful type of collection).

    Shared with the World by
    Prof David Millard
  9. [img]
    10 - Programming Principles: Super and Sub-classes
    In this session we introduce inheritance - one of the cornerstone concepts of object oriented programming. We look at how to define super and sub-classes, how to maintain encapsulation using the super() constructor, and why it is useful to use substitution to hold references to sub-classes in references typed as their super-class.

    Shared with the World by
    Prof David Millard
  10. [img]
    11 - Programming Principles: Polymorphism
    In this session we build on inheritance and look at overriding methods and dynamic binding. Together these give us Polymorphism - the third pillar of Object Oriented Programming - and a very powerful feature that allows us to build methods that deal with superclasses, but whose calls get redirected when we pass in sub-classes.

    Shared with the World by
    Prof David Millard
  11. [img] [img]
    12 - Programming Principles: Testing and Debugging
    In this session we look at the sorts of errors that occur in programs, and how we can use different testing and debugging strategies (such as unit testing and inspection) to track them down. We also look at error handling within the program and at how we can use Exceptions to manage errors in a more sophisticated way. These slides are based on Chapter 6 of the Book 'Objects First with BlueJ'

    Shared with the University by
    Prof David Millard
  12. [img] [img]
    13 - Programming Principles: Software Design
    In this session we look at some of the basics of good code design, including avoiding duplication and designing for loose coupling and high cohesion.

    Shared with the University by
    Prof David Millard
  13. [img]
    14 - Programming Principles: Abstract Classes and Interfaces
    In this session we look at how to use Abstract Classes and Interfaces in Object Oriented Design - especially as a way to get all the advantages of multiple inheritance without any of the problems.

    Shared with the World by
    Prof David Millard
  14. [img] [img]
    Preview
    15 - Programming Principles: Designing Applications
    In this session we look at the how to use noun verb parsing to try and identify the building blocks of a problem, so that we can start to create object oriented solutions. We also look at some of the challenges of software engineering, and the processes that software engineers use to meet them, and finally we take a look at some more Design Patterns that may help us reuse well known and effective solutions in our own designs.

    Shared with the World by
    Prof David Millard
  15. [img] [img]
    16 & 17 - Code Dojo: RPG Simulator
    We developed a simple RPG Simulator

    Shared with the University by
    Dr Son Hoang
  16. collection
    COMP1004 Programming Principles
    These are the resources used for the Computer Science course Programming Principles, designed to teach students the fundamentals of computer programming and object orientation via learning the Java language. We also touch on some software engineering basics, such as patterns, software design and testing. The course assumes no previous knowledge of programming, but there is a fairly steep learning curve, and students are encouraged to practice, practice, practice!

    Shared with the World by
    Prof David Millard
  17. [img] [img]
    COMP1202 - Coursework 2019
    Material for Programming I Coursework 2019

    Shared with the University by
    Dr Son Hoang
  18. [img]
    COMP1202 - Face-to-Face session 1
    interactive exercises for Java - conditionals, variables, methods

    Shared with the University by
    Dr Jian Shi
  19. [img] [img]
    COMP1202 - Ground Controllers 1 - Odd Time
    Ground Controllers 1. Solving Parson's problem entitled Odd Time.

    Shared with the University by
    Dr Son Hoang
  20. [img] [img]
    COMP1202 - Ground Controllers 2 - ECS Course
    Ground Controllers 2 - ECS Course (with code, title, and semester).

    Shared with the University by
    Dr Son Hoang
  21. [img] [img]
    COMP1202 - Ground Controllers 3 - Text Book
    Ground Controllers 3 - Text Book with title and ISBN

    Shared with the University by
    Dr Son Hoang
  22. [img] [img]
    COMP1202 - Ground Controllers 4 - Loops and Arrays
    Ground Controllers 4 - Exercises about loops and arrays

    Shared with the University by
    Dr Son Hoang
  23. [img] [img]
    COMP1202 - Ground Controllers 5 - Phone Book
    Ground Controllers 5 - An exercise with HashMap and String.

    Shared with the University by
    Dr Son Hoang
  24. [img] [img]
    COMP1202 - Ground Controllers 6 - Module Management
    Ground Controllers 6 - An exercise on inheritance.

    Shared with the University by
    Dr Son Hoang
  25. [img] [img]
    COMP1202 - Ground Controllers 7 - Tax Calculator
    Ground Controllers 7 - Testing a Tax Calculator

    Shared with the University by
    Dr Son Hoang
  26. [img] [img]
    COMP1202 - Ground Controllers 8 - Assessment
    Ground Controllers 8 - Inheritance.

    Shared with the University by
    Dr Son Hoang
  27. [img] [img]
    COMP1202 - Ground Controllers 9 - File Reader
    Ground Controllers 9 - File Reader

    Shared with the University by
    Dr Son Hoang
  28. [img] [img]
    COMP1202 - Lecture 09 - IDEs
    We discuss different features of IDEs and review IDEs such as BlueJ and IntelliJ

    Shared with the University by
    Dr Son Hoang
  29. [img] [img]
    COMP1202 - Live code demo
    This share contains the code used in the demo session.

    Shared with the University by
    Dr Jian Shi
  30. [img] [img]
    COMP1202 - Space Cadets - 00 - Introduction
    Introduction slides to the Space Cadets optional stream for COMP1202 (Programming I)

    Shared with the University by
    Dr Son Hoang
  31. [img] [img]
    COMP1202 Programming 1 - Constructors
    Lecture about Encapsulation and Constructors

    Shared with the University by
    Dr Jian Shi
  32. [img]
    COMP1202 Programming I - Abstract classes and interfaces
    Object-oriented Design - Abstract classes and interfaces

    Shared with the University by
    Dr Jian Shi
  33. [img] [img]
    COMP1202 Programming I - F2F Session 3
    Topics: String, HashMap, Inheritance, Polymorphism

    Shared with the University by
    Dr Jian Shi
  34. [img]
    COMP1202 Programming I - Inheritance Handout
    handout for Inheritance 1 & 2

    Shared with the University by
    Dr Jian Shi
  35. [img] [img]
    COMP1202 Programming I - Inheritance I
    Inheritance 1 - super and sub-classes

    Shared with the University by
    Dr Jian Shi
  36. [img] [img]
    COMP1202 Programming I - Methods
    Lecture about methods - parameters, return type, overloading

    Shared with the University by
    Dr Jian Shi
  37. [img] [img]
    COMP1202 Programming I - Variables
    Lecture about variables - primitives, objects and scope

    Shared with the University by
    Dr Jian Shi
  38. [img] [img]
    COMP1202 Programming I Coursework AY2020-21
    This is the coursework description for Programming I.

    Shared with the University by
    Dr Son Hoang
  39. [img] [img]
    COMP1202 Programming I Coursework AY2020-21 Sample Solutions
    This repository contains some sample solutions for the Coursework "Tower of Monsters". The solutions are from Michael Richards and Andrei Vasile showing some creative interface for the game.

    Shared with the University by
    Dr Son Hoang
  40. [img] [img]
    COMP1202 Programming I Coursework AY2021-22
    ECS Building Defence Coursework description for COMP1202 - Programming I (AY2021-22).

    Shared with the University by
    Dr Son Hoang
  41. [img] [img]
    COMP1202 Programming I Coursework AY2022-23
    ECS Orchestra Coursework for AY2022-23

    Shared with the University by
    Dr Son Hoang
  42. [img] [img]
    COMP1202 Programming I Coursework AY2023-24
    ECS Sim Coursework for AY2023-24

    Shared with the University by
    Dr Son Hoang
  43. [img] [img]
    COMP1202 Programming II - Inheritance 2
    Inheritance 2 - Polymorphism

    Shared with the University by
    Dr Jian Shi
  44. [img] [img]
    COMP1206 - Beyond Unit Testing
    COMP1206: Beyond Unit Testing (Validation and Verification 3 of 3)

    Shared with the University by
    Dr Jian Shi
  45. [img] [img]
    COMP1206 - Exception
    COMP1206 - Control Flow: Exception

    Shared with the University by
    Dr Jian Shi
  46. [img] [img]
    COMP1206 - File I/O
    Week 5 - File I/O

    Shared with the University by
    Dr Jian Shi
  47. [img] [img]
    COMP1206 - JUnit
    COMP1206 - JUnit (Validation and Verification 2 of 3)

    Shared with the University by
    Dr Jian Shi
  48. [img] [img]
    COMP1206 - Multi-threading
    COMP1206: Multithreading, intro

    Shared with the University by
    Dr Jian Shi
  49. [img] [img]
    COMP1206 - Reading Materials for Testing
    COMP1206, learning sources

    Shared with the University by
    Dr Jian Shi
  50. [img]
    COMP1206 - Revision 1
    COMP1206 - Revision 1 - about exam, revision for io, testing and control flow

    Shared with the University by
    Dr Jian Shi
  51. [img] [img]
    COMP1206 - Serialization
    Week 5 - Serialization

    Shared with the University by
    Dr Jian Shi
  52. [img] [img]
    COMP1206 - Static
    COMP1206: Control flow - static

    Shared with the University by
    Dr Jian Shi
  53. [img] [img]
    COMP1206 - String
    Week 5 - String

    Shared with the University by
    Dr Jian Shi
  54. [img] [img]
    COMP1206 - Testing Intro and Unit Testing
    COMP1206 - Validation and Verification (1 of 3)

    Shared with the University by
    Dr Jian Shi
  55. [img] [img]
    COMP1206 : Control Flow - JVM
    JVM

    Shared with the University by
    Dr Jian Shi
  56. [img] [img]
    COMP1206: Communication between threads
    COMP1206: wait() and notify(), monitor

    Shared with the University by
    Dr Jian Shi
  57. [img] [img]
    COMP1206: Control Flow - Recursion
    Week 7 - 2: recursion

    Shared with the University by
    Dr Jian Shi
  58. [img] [img]
    COMP1206: Multi-threading 2
    COMP1206: More about multi-threading, including the states of a thread, the life-cycle, some useful methods, etc.

    Shared with the University by
    Dr Jian Shi
  59. [img] [img]
    COMP1206: Synchronisation
    COMP1206: Synchronisation

    Shared with the University by
    Dr Jian Shi
  60. [img]
    Preview
    Event Driven Programming in Java
    Event driven programming is a way of writing a program that works by responding to things happening (rather than executing a preplanned series of tasks). It is most often used to manage more advanced user interactions, such as GUI programs. In this session we look at how event driven programming works in Java GUIs, as both an introduction to events (using MouseListeners), and also to the way that GUI programs are constructed.

    Shared with the World by
    Prof David Millard
  61. [img]
    Explaination of ArrayList remove() Methods
    In the example code you can see that when the remove(Object o) method is called the Integer is not cast to an int and the matching is done using the object's .equals() method rather than using ==

    Shared with the World by
    Mr Patrick Mcsweeney
  62. [img]
    Preview
    [img]
    Introduction to JavaScript Programming
    These are the resources for an introductory lecture in JavaScript programming. Exercises are provided to practice simple JavaScript programming, including a template for a DHTML implementation of Conway's Game of Life (with encrypted solution).

    Shared with the World by
    Prof Leslie Carr
  63. [img]
    Java path setting batch file
    This is a batch file written to help students on ECS' Programming 1 course (COMP1202) using iSolutions machines which have the JDK, but do not add it to the PATH variable, making compilation from the command line difficult. It attempts to find the JDK directory and add it to the Windows PATH. The code is as follows: @SET JAVA_HOME=C:\Program Files\Java @FOR /F %%G IN ('DIR /B "%JAVA_HOME%\JDK*"') DO @SET JDK_HOME=%JAVA_HOME%\%%G @SET PATH=%JDK_HOME%\bin;%PATH% @javac -version @echo. @echo %JDK_HOME%\bin successfully added to Windows PATH @echo. @echo Now type 'javac'. @echo. @echo. @echo. @CMD

    Shared with the World by
    Mr Rikki Prince
  64. [img]
    Preview
    [img]
    Preview
    Lecture 1 - Starting out
    What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks Variables Logic Data Structures Methods

    Shared with the World by
    Miss Teresa Binks
  65. [img]
    Preview
    [img]
    Preview
    Lecture 2 - Java
    Programming Overview The JVM (The Java Virtual Machine) A brief look at Structure Class Method Statement Magic incantations main() output Coding a Dog Programming Principle(1) If and Boolean operations Coding a Bank Account Quick look at ToolBox

    Shared with the World by
    Miss Teresa Binks
  66. [img]
    Preview
    [img]
    Preview
    Lecture 3 - Objects Ahoy
    Variables - Objects and Primitives, Quick look at scope

    Shared with the World by
    Miss Teresa Binks
  67. [img]
    Preview
    [img]
    Preview
    Lecture 4 - Methods and Stuff
    Banking Parameters and arguments Passing Objects Primitives Returning Getters and Setters

    Shared with the World by
    Miss Teresa Binks
  68. [img]
    Preview
    [img]
    Preview
    Lecture 5 - Constructors
    Constructors With one parameter With two parameters Overloading Constructors and methods

    Shared with the World by
    Miss Teresa Binks
  69. [img]
    Preview
    [img]
    Preview
    Lecture 7 - Going Loopy
    Looping while do while for Arrays indexes For each loop

    Shared with the World by
    Miss Teresa Binks
  70. [img]
    Preview
    [img]
    Preview
    Lecture 8 - über-Arrays
    ArrayList ArrayList vs Array Declaration Insertion Access Removal Wrapper classes Iterator object

    Shared with the World by
    Miss Teresa Binks
  71. [img]
    Preview
    [img]
    Preview
    Lecture 9 - Shhh, no talking in the library
    Shared with the World by
    Miss Teresa Binks
  72. [img]
    Preview
    [img]
    Preview
    Lecture 12 - Scope
    Instance Variables Local variables Cool 3D Modelling! “this” keyword

    Shared with the World by
    Miss Teresa Binks
  73. [img]
    Preview
    [img]
    Preview
    Lecture 13 - It runs in the family
    Inheritance Code duplication Super classes Constructors Polymorphic collections “Anywhere a super class is, a sub class can go” Casting A great deception

    Shared with the World by
    Miss Teresa Binks
  74. [img]
    Preview
    [img]
    Preview
    Lecture 14 - Exploring Polymorphism
    Which methods are where? Overriding Calling super’s methods Coupling and cohesion

    Shared with the World by
    Miss Teresa Binks
  75. [img]
    Preview
    [img]
    Preview
    Lecture 15 - Interface this
    A quick word about abstract How a class interfaces Making Pets The Deadly Diamond of Death Interfaces (not interfaces)

    Shared with the World by
    Miss Teresa Binks
  76. [img]
    Preview
    [img]
    Preview
    Lecture 16 - I can't hear you through the static
    Static Types of methods Instance Static Example Calling Static methods Why Static Final

    Shared with the World by
    Miss Teresa Binks
  77. [img]
    Preview
    [img]
    Preview
    Lectures 17 and 18 - Exceptions - when it all goes wrong
    Exceptions An Example The Throws keyword Try and Catch The flow Multiple exceptions Finally How exceptions are thrown What the complier checks Handle or Defer Recovery Writing your own

    Shared with the World by
    Miss Teresa Binks
  78. [img]
    Polymorphism
    10th lecture on programming 1, using Java

    Shared with the University by
    Dr Jo Grundy
  79. [img]
    Preview
    [img]
    Preview
    Programming I - Starting Out
    In this lecture we describe the structure of the Programming I module at the University of Southampton, look at the definitions and paradigms of programming, and take a look ahead to the key things that we will be covering in the weeks ahead.

    Shared with the World by
    Prof David Millard
  80. [img]
    Preview
    Programming Principles: Conclusions
    This is the revision session for our Programming Principles course. We remind ourselves of the three pillars of object oriented programming, look ahead to the exam, and share some parting advice.

    Shared with the World by
    Prof David Millard
This list was generated on Thu Mar 28 12:31:51 2024 UTC.