Searching the World's top universities for courses with:

source
University of Auckland (X)
level
department
Computer Science (X)
true *,score on 1 0 department:"Computer Science" source:"University of Auckland" AND 2.2 25
Total results: 34

University of Auckland - Principles of Programming

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing Undergraduate Project in Computer Science

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing Undergraduate Project in Computer Science Parallel and Distributed Computing

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department. Computer architectures and languages for exploring parallelism, conceptual models of parallelism, principles for programming in a parallel environment, different models to achieve interprocess communication, concurrency control, distributed algorithms and fault tolerance.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing Undergraduate Project in Computer Science Parallel and Distributed Computing Advanced Computer Graphics

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department. Computer architectures and languages for exploring parallelism, conceptual models of parallelism, principles for programming in a parallel environment, different models to achieve interprocess communication, concurrency control, distributed algorithms and fault tolerance. An advanced look at current research issues in computer graphics. Typical topics include: ray-tracing acceleration methods; radiosity; subdivision surfaces; physically-based modelling; animation; image-based lighting and rendering; non-photorealistic rendering; advanced texturing. The precise content may vary from year to year. Consult the department for details.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing Undergraduate Project in Computer Science Parallel and Distributed Computing Advanced Computer Graphics Advanced Design and Analysis of Algorithms

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department. Computer architectures and languages for exploring parallelism, conceptual models of parallelism, principles for programming in a parallel environment, different models to achieve interprocess communication, concurrency control, distributed algorithms and fault tolerance. An advanced look at current research issues in computer graphics. Typical topics include: ray-tracing acceleration methods; radiosity; subdivision surfaces; physically-based modelling; animation; image-based lighting and rendering; non-photorealistic rendering; advanced texturing. The precise content may vary from year to year. Consult the department for details. Selected advanced topics in design and analysis of algorithms, such as: combinatorial enumeration algorithms; advanced graph algorithms; analytic and probabilistic methods in the analysis of algorithms; randomised algorithms; methods for attacking NP-hard problems.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing Undergraduate Project in Computer Science Parallel and Distributed Computing Advanced Computer Graphics Advanced Design and Analysis of Algorithms System Security

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department. Computer architectures and languages for exploring parallelism, conceptual models of parallelism, principles for programming in a parallel environment, different models to achieve interprocess communication, concurrency control, distributed algorithms and fault tolerance. An advanced look at current research issues in computer graphics. Typical topics include: ray-tracing acceleration methods; radiosity; subdivision surfaces; physically-based modelling; animation; image-based lighting and rendering; non-photorealistic rendering; advanced texturing. The precise content may vary from year to year. Consult the department for details. Selected advanced topics in design and analysis of algorithms, such as: combinatorial enumeration algorithms; advanced graph algorithms; analytic and probabilistic methods in the analysis of algorithms; randomised algorithms; methods for attacking NP-hard problems. Data security: confidentiality, integrity, availability. System security: prohibitions, permissions, obligations, exemptions. The gold standard of dynamic security: authentication, audit, authorisation. Governance: specification, implementation, assurance. Three-layer defence: prevention, detection, response. Control modalities: architectural, economic, legal, normative. System-centric analyses: attacks, threats, vulnerabilities, information flows. Owner-centric analyses: functionality, security, trust, distrust. Data-centric analyses. Security techniques: encryption, obfuscation, tamper resistance. System designs.
Score: 7.0583954 Details | Listing | Web page

University of Auckland - Principles of Programming Principles of Computer Science Mastering Cyberspace: Introduction to Practical Computing Computer Systems 1 Computer Systems 2 Discrete Structures in Mathematics and Computer Science Software Construction Enterprise Software Development Computer Organisation Modern Data Communications Applied Algorithmics Distributed Objects, Services, and Programming Operating Systems Human-computer Interaction Mathematical Foundations of Computer Science Databases Artificial Intelligence Computational Science Computer Graphics and Image Processing Undergraduate Project in Computer Science Parallel and Distributed Computing Advanced Computer Graphics Advanced Design and Analysis of Algorithms System Security Software Tools and Techniques

An introduction to computers and computer programming in a high-level language. The role of computers and computer professionals in society is also introduced. The course is intended for students who may wish to advance in Computer Science or in Information Systems and Operations Management. Extends the programming skills of COMPSCI 101, covering more advanced data structures and their representation and manipulation. Topics include: pointers, dynamic data structures (lists, queues, stacks, trees, hashtables), recursion, sorting and searching. A practical introduction to computing. Topics include: web design, an overview of computer hardware and operating systems, effective use of common applications, using the Internet as a communication medium, applying programming concepts, and social implications of technology. The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly language programming. Study of a high-level language and how it is implemented at the machine level. Assembly and disassembly of instructions. Interacting with the operating system via a command line interface and use of a scripting language. Hardware support necessary to implement a secure multi-user operating system: user/kernel mode, exceptions and interrupts, virtual memory, context switching, synchronisation, interrupt driven input/output. An introduction to data communications: the OSI reference model, particularly how the lower layers combine to implement sockets. An introduction to logic, principles of counting, mathematical induction, recursion, relations and functions, graphs and trees, and algorithms. This course is suited to students who are interested in the foundations of computer science, mathematics and logic. The main themes are: proof methods, logic and induction; sets and functions; counting; discrete structures. Students will develop a software application of reasonable complexity through the application of established software development techniques. In doing so, students will demonstrate fundamental skills in object-oriented software development, GUI programming and application-level multithreading. In addition, students will learn established techniques to ensure that their software satisfies quality criteria. Develop a distributed application using an Enterprise technology. Demonstrate skills in data modelling, manipulating and querying; and accessing a remote database server. Model system requirements and design using established notations, to leverage a component-based Enterprise technology, and to use tools to support their activities. Collaborative work experience through pair programming. Modern processor architectures. Principles of modern processor design; pipelining; memory hierarchies; I/O and network interfacing; compiler and OS support; embedded processors; performance; multiprocessing. The structure of data communications and networks, including the Internet, covering all levels of the communications architecture. The layered protocol model, data transmission and coding, link-level and local area network protocols, wide-area internetworking, routing, transport and security protocols. Basic application protocols as the foundation for distributed computing. Fundamental design techniques used for efficient algorithmic problem-solving and software development. Methods that yield algorithms that are both provably correct and efficient. Efficiency of algorithms to provide a basis for deciding which algorithm is best for the job. Limits on the power of computers and the theory of NP-completeness. An introduction to methods whose correctness or performance is not guaranteed. Programming introduction to distributed services and to browser based applications. Introduction to functional programming for data integration. Specific topics will include simple distributed applications, using message-based, declarative or functional programming methods. Concepts of programming with XML, SOAP and HTTP based mechanisms, and programming for dynamic web content generation. Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems. Human behaviour and humans' expectations of computers. Computer interfaces and the interaction between humans and computers. The significance of the user interface, interface design and user centred design process in software development. Interface usability evaluation methodologies and practice. Includes a group development and evaluation project using current implementation techniques and tools. The aim of this course is to present mathematical models for programming languages and computation, and derive some theorems regarding what can and cannot be computed. Abstract programming languages (finite automata, context-free grammars, Turing and register machines) are studied. Basic concepts for programming languages, limits on computational power and algorithmic complexity are presented. Church-Turing thesis and quantum computing are briefly and critically discussed. Database principles. Relational model, Relational Algebra, Relational Calculus, SQL, SQL and Programming Languages, Entity Relationship Model, Normalisation, Query Processing and Query Optimisation, ACID Transactions, Transaction Isolation Levels, Database Recovery, Database Security, Databases and XML. The cornerstones of AI: representation, utilisation, and acquisition of knowledge. Taking a real world problem and representing it in a computer so that the computer can do inference. Utilising this knowledge and acquiring new knowledge is done by search which is the main technique behind planning and machine learning. Principles of computational science. Computational science is the development and application of computer algorithms and software to solve scientific and engineering problems including probabilistic computer modeling, computer-based statistical inference and computer simulation. Focus is on the analysis of real-world data with emphasis on Computational Biology and Computational Engineering. Basic geometric processes including transformations; viewing and projection; back projection and ray tracing. Graphics modeling concepts: primitives, surfaces, and scene graphs, lighting and shading, texture mapping, and curve and surface design. Graphics and image processing fundamentals: image definition and representation, perception and colour models, grey level and colour enhancement, neighbourhood operations and filtering. Use of the OpenGL graphics pipeline. Each student taking one of these courses will be expected to do an individual practical project under the supervision of a member of staff. Only students with excellent academic records will be allowed to take these courses, and only after a supervisor and topic have been agreed upon by the Head of Department. Computer architectures and languages for exploring parallelism, conceptual models of parallelism, principles for programming in a parallel environment, different models to achieve interprocess communication, concurrency control, distributed algorithms and fault tolerance. An advanced look at current research issues in computer graphics. Typical topics include: ray-tracing acceleration methods; radiosity; subdivision surfaces; physically-based modelling; animation; image-based lighting and rendering; non-photorealistic rendering; advanced texturing. The precise content may vary from year to year. Consult the department for details. Selected advanced topics in design and analysis of algorithms, such as: combinatorial enumeration algorithms; advanced graph algorithms; analytic and probabilistic methods in the analysis of algorithms; randomised algorithms; methods for attacking NP-hard problems. Data security: confidentiality, integrity, availability. System security: prohibitions, permissions, obligations, exemptions. The gold standard of dynamic security: authentication, audit, authorisation. Governance: specification, implementation, assurance. Three-layer defence: prevention, detection, response. Control modalities: architectural, economic, legal, normative. System-centric analyses: attacks, threats, vulnerabilities, information flows. Owner-centric analyses: functionality, security, trust, distrust. Data-centric analyses. Security techniques: encryption, obfuscation, tamper resistance. System designs. An advanced course examining research issues related to tools and techniques for software design and development. Typical topics include: techniques for data mapping and data integration, software architectures for developing software tools, issues in advanced database systems. The precise content may vary from year to year. Consult the department for details.
Score: 7.0583954 Details | Listing | Web page

1 - 25 26 - 34