Computer Studies
Co-ordinating Lecturer(s)
- Dr Mike Evans Tel/Ffôn: (029) 2087 4212 Email/Ebost: evans@cardiff.ac.uk
Our courses are designed to give a student with very little knowledge of computing a sound foundation in particular areas. The course on Computer Forensics Investigation and Response and the course Data Security andNetworking are ideal for students who are managing a network of computers.
There are many courses on different computer programming languages such as Visual Basic, C, C++, Java, HTML,Perl and PHP. Students on these courses develop their programming skills by writing programs to solve problems. For those students with an interest in databases, the course Database Systems using Oracle is a good introductory course. Students on the course Web Design and Authoring create their own Web site and further Web courses allow the student to develop their Web site. Two modules C Programming I and C++ Programming are offered as Free Standing Modules so that students may study these modules as part of their undergraduate degree studies.
For all our courses, early enrolment is recommended to ensure that each student has a computer registration for the first week of the course. I am sure that you will find subjects of interest to you in our Computer Studies programme.
How would you like to view our courses?
- View:
- ALL courses |
- UPCOMING courses only
Computer Studies Courses
Advanced Web Design Practice
This course develops advanced web skills to enable the design and development of websites which meet latest web standards, together with an understanding of implementation issues including content strategy and management, evaluation and measurement and usability testing. Course includes: visual design process; semantic markup; advanced CSS2 (and anticipating CSS3); dynamic web pages using SPRY; adding multimedia and Web 2.0 features; CMS and basic ecommerce options; SEO and Web Analytics; content strategy development and usability testing. Students will need a good level of html and CSS knowledge, ideally having attended Web Design and Authoring and Web Design and Technologies. Assessed work will include project and course work.
Advanced Web Publishing
This course will instruct students in the use of the latest web standards techniques including various techniques: page layout, drop down menu, XHTML 1.0 and CSS. Students will require a good understanding of HTML and experience of using the web and web publishing.
C Programming I
This course will provide an introduction to the C programming language and its usage. After attending this course a student will have acquired the basic skills in programming in C. Topics covered in this introductory course include data types, arithmetic operators, comparison operators, use of conditional and iterative control statements, formatting of output, use of functions from the C library, creation of user defined functions, functions, introduction to pointers, introduction to arrays, accessing arrays using both subscripts and pointers, use of standard input/output library functions, use of text and random access files, use of C pre-processor directives, manipulation of data structures and use of make files. Assessed work will include the writing of C programs. No programming experience required.
C Programming II
This course is an advanced C programming course which uses some of the operating system data structures to modify the user environment. Topics covered include debugging a C program, use of makefiles incorporating internal and user defined macros, dynamic allocation and freeing of memory for system data structures using malloc and free functions, creation and manipulation of linked lists using dynamic allocation of memory, use of Database Management (DBM) functions declared in ndbm.h to access keyed databases, enabling raw character input (as opposed to line input) by setting and clearing flags in the termios data structure declared in termios.h and using the tcgetattr and tcsetattr functions, extracting information about a file using the stat data structure declared in stat.h and the tm structure declared in time.h and, finally, the writing of filters. This course assumes knowledge of the topics covered in C Programming I. Assessed work will include the writing of C programs.
C++ Programming
This course will provide an introduction to the C++ programming language and its usage. After attending this course you will have acquired the basic skills in programming in C++ and an understanding of the ideas of object oriented programming. Topics covered in this course include an introduction to classes and objects, class variables, constructors and functions, overloaded constructors and functions, public and private access to variables and functions, arithmetic operators, simple input and output, comparison operators and the use of conditional and iterative control statements, formatting of output, use of library functions and the creation of user defined functions, introduction to pointers, introduction to arrays, accessing arrays using both subscripts and pointers, using classes containing static functions and static variables, introduction to inheritance by creating a derived class from a base class, inherited and overridden functions in the derived class, use of the new and delete operators to dynamically allocate and release memory, use of the fstream library functions to access files and use of user defined classes to write object-oriented programs. No prior knowledge of C++ is required.
Computer Forensics Investigation and Response
This module emphasizes a ‘hands-on’ approach to learning forensic computing techniques using open-source and commercial forensic tools. The module will teach you the fundamental structures applicable to computer forensics and how the tools can be exploited to analyse these structures in a variety of case types.
Data Security and Networking
This module aims to introduce students to the major problems of security in running a public service computer system. The topics covered in this module include a discussion of the basic internet protocols (TCP, UDP, ICMP) and network applications (Telnet, FTP, Usenet, e-mail), an introduction to network and host security and network design and implementation. Anatomy of computer viruses, how do they work? Practical networking, common topologies, components and testing. Includes a practical class that allows students to try termination of fibre-optics and setting up a small local area network. Backing up machines over the network. Controlling the services on a workstation. Use of logs from backups to investigate breaches of security.
Database Systems using Oracle
This course introduces you to the basics of database systems. The topics covered are: database system architecture, database design (at conceptual, logical and physical levels), transaction management (recovery, security and concurrency of transactions), and the use of SQL/Oracle for data manipulation (create tables and query tables).
Introduction to AutoCAD
This course is designed to introduce and explore the methods, concepts and tools available with 2D AutoCAD design using AUTOCAD release 2004. This course is suitable for those with no previous AUTOCAD experience and those wishing to develop or improve 2D CAD skills.
Introduction to Visual Basic
Topics of the BASIC language covered include data types, operators, use of conditional and iterative control statements, mathematical and string functions, arrays, sequential and random access files and, finally error handling. Topics of the Visual BASIC Package discussed in detail include forms, controls, events, timers, the graphical-co-ordinate system; menus, modules and the accessing of excel spreadsheets. Assessed work will include the writing of Visual Basic applications to solve a variety of problems.
Java I
This course is an introduction to the concepts of JAVA programming. Topics covered include basic structures such as loops, arrays, strings if/else, and switch. Event-handling, simple graphics and use of simple predefined objects such as Buttons, TextFields and LayoutManagers, control of input via the mouse and creating your own simple objects and simple text file handling. The course is of a practical nature and each evening consists of a lecture followed by a laboratory session. The lectures are program orientated and the laboratories are supervised.
Java II
This course extends the basic concepts learnt in Java I and is taught along similar lines. Topics covered include, exception handlers, the theory of inheritance, sorting algorithms, building more complex Graphical User Interfaces, the use of animation and sound. Interfacing to SQL Databases using JDBC (includes a short introduction to SQL).
Java III
Topics covered include the use of sequential and random access files, introduction to threads, creation of a multithreaded application, introduction to networking, creation of client/server network applications using both the User Datagram Protocol (UDP) and the Transmission Control Protocol (TCP), Remote Method Invocation (RMI), the RMI registry and, finally, the creation of an application using RMI. Assessed exercises will reinforce the work covered in the lectures.
PHP Scripting for the Web
This course assumes knowledge of the topics covered in the Advanced Web Publishing. This course covers the fundamentals of PHP scripting, how to make pages which adapt to the browser viewing them and how to validate forms server-side. Students should already have a good understanding of HTML.
Python Programming
This module aims to provide an introduction to programming in the Python scripting language. This course is ideal for the student who already has some knowledge of computer programming. This module includes a mix of traditional lectures and laboratory sessions...
Shell and Perl Programming I
This course will provide an introduction to the UNIX operating system, the use of the awk scripts using awk functions to process text data, the use of shell and Perl scripts. Topics covered in the introduction the UNIX operating system include a discussion of the file hierarchy, the use of essential file and directory commands, and, finally, file and directory access. Topics covered in the shell scripting language will include the four phases of shell interpretation, namely, command substitution, parameter substitution, blank space interpretation and filename generation, shell parameters and quoting. Topics covered in the Perl scripting language include an introduction to mathematical operators and functions, comparison operators and the use of conditional and iterative control statements, use of chop and chomp functions with keyboard input, use of the diamond operator to read a text file, use of arrays and array functions, use of string operators and string functions, accessing files via filehandles, file tests, logical operators, pattern matching, data validation using predefined character class abbreviations. Assessed work will include the writing of scripts.
Shell and Perl Programming II
This course assumes a basic knowledge of PERL programming covered in Shell and Perl Programming I. Topics covered include hash functions, DBM files, subroutines, arguments to subroutines, local variables and prototypes, system calls to interface to the UNIX operating system, data compression, an introduction to Networking and the creation of a network application. Assessed work will include the writing of PERL programs.
Unix System Administration I
Topics covered include file access control, redirection of input and output, piping, adding users on a UNIX server, setting user disk and file quota, moving a user's home directory to another file system, scheduling batch jobs using the cron facility, monitoring users, backing up and restoring data and the installation of the LINUX operating system on a PC.
Unix System Administration II
Topics covered include a discussion of inodes, hard and soft links, using disk partitioning to create new filesystems, installing and removing software packages, using the Network File System (NFS) to make data available to other computers, monitoring commands executed by users, introduction to networking, controlling services on a server, setting up access to remote printers, system start up scripts and a customised installation of a UNIX operating system.
Using mySQL with PHP for the Web
This course assumes knowledge of the topics covered in PHP Scripting for the Web. This course covers the fundamentals of designing a relational database using mySQL. The basic syntax of SQL, as is applicable to mySQL, is taught on the course. This course covers the PHP API, the interface between the mySQL server and the PHP scripting engine.
Web Design and Technologies
This course introduces students to the major web applications: Dreamweaver, PhotoShop and Flash, developing skills and confidence in using them to design and manage websites and graphically enhance web pages. The course includes: creating websites in Dreamweaver, design principles; styles and css positioning; image manipulation for the web; and creating animations and movies in Flash. Students attending this course should have a good understanding of HTML.
Web Development with Javascript and AJAX
AJAX enables web pages to be highly dynamic. The course teaches the basics of xml, Javascript and the DOM in order to manipulate data on a web page. Using http data encoded in xml can be fetched from the web server and placed on the existing page. PHP is used as the vehicle for scripting in this course and ideally you should have a good knowledge PHP. However, if you have knowledge of another web scripting language you will be able to study this course. You need a good knowledge of HTML and the structure of its elements.
Web Design and Authoring
This course leads students through the steps needed to design and publish a website, including: design principles; writing web pages using HTML and CSS (Cascading Style Sheets) and publishing the website to a live server. Course content includes adding links and images, creating CSS layouts, adding tables, web forms and maps. No prior knowledge of HTML is required, but students should be familiar with Windows and have experience of browsing the internet.
Web Design and Authoring Online
Online version of this popular course leads students through the steps needed to design and publish a website, including: design principles; writing web pages using HTML and CSS (Cascading Style Sheets). Course includes: adding links and images, using tables, web forms and imagemaps; and publishing the website to a live server. Teaching is via a multimedia website within the Blackboard Virtual Learning Environment and includes video demonstrations. Podcasts, interactive discussion forums and email contact with the tutor. No prior knowledge of HTML is required, but students should be familiar with Windows and have experience of browsing the internet.
XML for the Web
This course assumes knowledge of the topics covered in the Advanced Web Publishing module. This course covers the fundamentals of application of XML including XHTML and WAP and includes an introduction to using XML to store and generate documents, a discussion of the advantages of using this type of mark-up language, creating and defining XML data and finally, formatting and displaying XML documents. Developing in the technology will be surveyed and the students will be able to research new technologies using the original specifications and resources.
