View all Courses
Computing in Software Development
Bachelor of Science
Course Details
CAO Code | AU576 |
---|---|
Level | 7 |
Duration | 3 Years |
CAO Points | 263 (2024) |
Method of Delivery | On-campus |
Campus Locations | Galway City – Dublin Road |
Mode of Delivery | Full Time |
Course Overview
How do we interact with computers? How is computing evolving? Software Development is about solving problems, designing new applications and developing your own personal skills for communication, leadership and management. Join us to start your journey of IT discovery and learning its hard but rewarding!
Course Details
Year 1
Semester | Module Details | Credits | Mandatory / Elective |
---|---|---|---|
1 |
Academic and Professional Skills (SC:SC)The aim of this module is to develop academic and professional development skills for student success in higher education and beyond. This module combines online learning activities and small group workshops to focus on areas such as academic writing and integrity, creative thinking, problem-solving, time management, communications, group work, technology, innovation and presentation skills. Learning Outcomes 1. Apply appropriate tools and principles to optimise the learning experience. 2. Develop self-reflection practices for individual and group-work activities. 3. Recognise different information sources and apply the principles of academic integrity. 4. Assess a variety of professional communication practices and digital tools and apply to problem-solving. 5. Consider how the chosen discipline has a responsibility to wider society. |
05 | Mandatory |
2 |
Computer TechnologyThis module covers PC hardware components and the entire computing stack from the transistor to the application level. It also provides an introduction to the UNIX operating system, command line utilities and navigation, version control and virtualisation. Learning Outcomes 1. Demonstrate knowledge and understanding about computer architectures and the hardware and software components involved. 2. Demonstrate an understanding of the representation and manipulation of computer data and information. File system navigation and file manipulation using a command line interface System and File Security Input and Output Redirection 5. Demonstrate basic use of a version control system 6. Initialise and interact with virtualised computing resources |
05 | Mandatory |
Year |
Software Design and Program Development 1This module provides a solid foundation in algorithm and program design and development. It covers the theory of programming constructs and implements these in a lab based environment for the student to develop the skills which are required to solve a range of problems in areas of practical significance. Learning Outcomes 1. Approach problems divergently and convergently, considering alternate solutions. Deconstruct and decompose these into manageable and solvable algorithms. 2. Design and develop algorithms using appropriate techniques to solve a range of problems. 3. Construct and implement a practical solution of these algorithms using a programming language. 4. Demonstrate ability in the fundamentals of the key programming constructs including sequence, selection, iteration and event-driven programming. 5. Develop programs that are testable, maintainable and auditable. |
20 | Mandatory |
Year |
Graphical User Interface and Web DevelopmentThis module introduces the learner to web application development, focusing primarily on the core web technologies used for front end web development. Learning Outcomes 1. Identify the key components of Front End Web Development. 2. Demonstrate an understanding of the W3C (World Wide Web Consortium) standards for markup, presentation and behaviour. 3. Demonstrate a proficiency for using client side scripting/programming languages for customizing Websites. 4. Test, investigate and solve issues when implementing Websites. 5. Develop and manage delivery of responsive Websites using modern tools and techniques. |
10 | Mandatory |
Year |
Essential Mathematics for Computing 1 & 2This broad module introduces the student to the relevant principles of Mathematics for Computing. Learners will be encouraged to actively participate in solving problems and algorithm development logically and mathematically. Learning Outcomes 1. Use set theory, including functions, to model and investigate real-world computing problems. 3. Convert between different number systems. |
10 | Mandatory |
Year |
Introduction to Digital Graphics & DesignThe module introduces graphical design, techniques and tools for both the online and print media. Learning Outcomes 1. Identifying graphics design consideration (colour, image, typography shapes,medium)taking into account diversity and global cultural identity and from a legal, environmental, sustainable and ethical perspective. 2. Demonstrate knowledge of Digital Photography hardware and image composition 3. Understand and use a number of graphics application and desktop publishing packages to produce static and animated graphic presentations for online and print medium. 4. Understand project requirements and the production process for developing a graphics portfolio. 7. Engage in analysis and constructive critical discussion of digital graphic elements and documents. |
10 | Mandatory |
Year 2
Semester | Module Details | Credits | Mandatory / Elective |
---|---|---|---|
1 |
Software Design and Program Development 2This module provides a solid foundation in Object Oriented Concepts and introduces advanced topics in the Java programming language. Learning Outcomes 1. Have knowledge and understanding of Object Oriented Methodologies and associated Object Oriented Language 2. Create class hierarchies using the object-oriented design process 3. Use an integrated development environment to write,compileand run programs in an Object Oriented Language. 4. Design and implementprograms in an Object Oriented language for complex problems, making good use of the Object Oriented features of the language. |
05 | Mandatory |
1 |
Cross-Platform Application DevelopmentThis module introduces the student to cross-platform development principles, tools and languages that are used to develop applications for multiple platforms using a single code base. Learning Outcomes 1. outline code sharing paradigms available for cross-platform development. 2. design simple applications focusing on a good user experience. 3. implement and deploy simple applications across multiple platforms, independent of physical form and input mechanisms. 4. incorporate and use third party libraries to implement functionality in a cross-platform application. |
05 | Mandatory |
1 |
Systems Analysis MethodsThis module introduces the student to Information System development and the role the Systems Analyst plays in this development. It will provide the student with a foundation in the concepts, techniques and methodologies used in Information Systems Development. Learning Outcomes 1. Gain an understanding of Information Systems Development. |
05 | Mandatory |
1 |
Applied Networking Technology 1This module aims to introduce students to modern computer networking concepts, protocols, technologies and utilities. This module focuses on the lower 3 layers of the OSI model, Physical, Data Link and Network, looking at these networking protocols. Students will build, configure and test "virtual networks". Learning Outcomes 1. Demonstrate ability to configure, test and deploy a medium sized LAN. 2. Understand modern Physical network technologies, fibre optics, co-axial, copper 3. Identify functionality of various networking elements, switches, Routers 4. Configure DHCP, DNS and various other virtual servers 5. Understand IPv4 addressing including Public / private addresses, CIDR, NAT / PAT |
05 | Mandatory |
1 |
IT Professional SkillsThe objective of this module is to provide the student with the tools and skills to communicate effectively in the modern software/ computing organisation using appropriate professional tools, digital technology / software and digital writing skills. This module will include local IT Company presentations, opportunities to work as a TEAM using collaborative software, create a positive digital footprint by creating a digital blog/ e-portfolio, This module will prepare the student for work placement / career in IT. Learning Outcomes 1. Have attained sufficient information and knowledge in presentation skills, digital writing , interpersonal skills and communication skills to work effectively and professionally in a modern software/ computing organisation. 2. Enhance the ability to work effectively in a team, using modern software tools and appropriate communication skills to work effectively on a technology project and present the findingsvia a class presentation, using modern presentation software. 3. Develop employability skills and career planning strategies to ensure preparation for work placement / working in a technology company 4. Assess the greater role that privacy, securityand legislation hasin modern digital communication, including concept of digital footprint 5. Develop Problem Solving / Critical thinking skills enabled by cloud technology applicationseg Wireframe sware / Mockup Sware/ Content Flowcharts rtc for professional digital communication |
05 | Mandatory |
1 |
Procedural ProgrammingThis module is intended to introduce the student to a procedural programming language. The module deals with programming constructs of the procedural language and positions the programming language in the context of the software development world. Learning Outcomes 1. The student will have knowledge and understanding of procedural language programming. 3. Develop algorithms using appropriate techniques to solve a range of problems. 4. To design and implement an algorithm using the procedural programming language. |
05 | Elective |
2 |
Data Structures and AlgorithmsThis module provides the learner with programmatic problem solving skills, by developing a knowledge of computer algorithms and data structures. Learning Outcomes 1. Solve computational problems using standard data structures. 4. Solve a computational problem by writing a computer programme that applies one or more of the algorithms and data structures described in this module. |
05 | Mandatory |
2 |
Front End Web DevelopmentThis module provide a general introduction to front end web application building and covers specific techniques for stand alone web development using an IDE. Learning Outcomes 1. Demonstrate proficiency of the basicbuilding blocks of a front end webapplication development framework/library. 2. Demonstrate proficiency ofthe programming constraints that apply when developing front end web applications. 3. Design, develop and deploy a stand alone front end web application using an Integrated Development Environment (IDE) 4. Recognise and employ real-world best practices in developing front end web applications. |
05 | Mandatory |
2 |
Database DevelopmentThis module provides an introduction to the field of databases. It covers the theory of their design, construction and manipulation through the Structured Query Language. Learning Outcomes 1. Understand the limitations of the traditional file-based approach and how database systems overcome these limitations. |
05 | Mandatory |
2 |
Applied Networking Technology 2This module builds on the knowledge and competencies acquired in the previous networking module. This module will focus on networking concepts, protocols, technologies and utilities applicable to the top 4 layers of the OSI model. There is a particular emphasis on networking security protocols. Learning Outcomes 1. Demonstrate ability to configure, test and deploy a medium sized LAN. 2. Configure a DNS server using a zone file 3. Identify, understand and configure TLS security protocol 4. Understand the role of and functionality provided by Firewalls |
05 | Mandatory |
2 |
Software Quality and TestingThis module provides the student with the skills needed to test software and web applications with emphasis on test strategies, test design and test execution and incorporates the Practices and Techniques for ensuring production of good quality software and web applications. Learning Outcomes 1. Structure the tasks defined in the test strategy in terms of business domain requirements 2. Understand the importance of Quality and be able to determine quality both in an end product and the processes which produce it. 3. Understand the importance of metrics and be able to apply them in a wide range of software development environments. 4. Have a solid understanding of preparation and execution of test activities, including ongoing reporting of progress 5. Provide the necessary evidence to support evaluation 6. Students will gain a knowledge of Software Testing in the following areas and appreciate the role of the Software Tester in conjunction with that of the Software Developer Testing Processes |
05 | Mandatory |
2 |
Advanced Procedural ProgrammingThis module builds on the work done in a Procedural Programming Language and introduces the advanced concepts of memory allocation and deallocation, pre-processor directives, file-handling and complex data structures. The student should have a working knowledge of a Procedural Programming language before taking this module. Learning Outcomes 1. Have knowledge and understanding of a procedural language programming 2. Be competent in the advanced features of the proceduralprogramming language 3. Understand the implementation of complex data structures in a procedural programming language. 4. Have the ability to organise the overall programming application using advanced techniques. |
05 | Elective |
2 |
Financial Information SystemsThe principal objectives of this module are to develop an understanding of financial technology (fintech), Global financial systems, financial information systems, advanced reporting techniques, data analytics, insights into database setup. The student will also develop a knowledge of the use of modern financial technology systems (fintech) in a practical context. Relevant cloud based applications are also covered in this context. Learning Outcomes 1. Understand the principles of financial information systems, financial applications and data analysis software. 2. Understand the global financial system / stock market & use ofdata analytics software to represent data 3. Understand the principles of accounting and the application of these principles in a financial context 4. will be able to demonstrate an understanding of FINTECH ( financial technology) systems including decision support systems (DSS) and advanced data analysis. |
05 | Elective |
Year 3
Semester | Module Details | Credits | Mandatory / Elective |
---|---|---|---|
1 |
Operating SystemsThis module is intended to introduce to Operating Systems and through the use of Virtualisation Technology, their installation and management. Additionally, this module is intended to introduce the student to the internal management structures of operating systems. The management of processes, memory and other system resources is examined and the student will have a detailed knowledge of the theoretical aspects of operating system design. Learning Outcomes 1. Demonstrate an understanding of the installation and practical setup of a range of modern operating systems. |
05 | Mandatory |
1 |
Database Management SystemsThis module is designed to provide students with the knowledge and skills required in order to manage and configure a database management system. . Learning Outcomes 1. Demonstrate a detailed understanding of the theoretical aspects and principles upon which modern DBMS systems are based. 2. Demonstrate a knowledge and understanding of the role and functions of a Database Administrator (DBA) in the areas such as user management, DB security and recovery. 5. Store data in a secure (encrypted) format in a database |
05 | Mandatory |
1 |
Writing Secure SoftwareThis module provides the learner with tools and techniques they will need to write secure software, It will also familiarise them with the most common vulnerabilities and how to guard against them. Learning Outcomes 1. Understandsecure software development frameworks 2. Identify, and guard against, traditional and emerging software attack techniques. 3. Evaluate the security of a modern application. |
05 | Mandatory |
1 |
Web Applications DevelopmentThis module provides the student with the knowledge and skills to develop web applications using modern, industry-standard, architectures and frameworks. Learning Outcomes 1. Describe modern web application architectures. 2. Develop a web application using industry standard frameworks. 3. Use back-end services in a web application, for example access a database. 4. Apply appropriate testing and security strategies to ensure quality assurance. |
05 | Mandatory |
1 |
Object Oriented ProgrammingThis module provides an introduction to the object-oriented paradigm and develops in learners the ability to create loosely coupled, highly cohesive software artifacts comprised of robust, maintainable and reusuable components. Learning Outcomes 1. Understand the core principles of the object-oriented paradigm and their application to software development. |
05 | Mandatory |
1 |
Graphics ProgrammingAn introduction to modern graphics programming, data visualisation and computer vision libraries. Learning Outcomes 1. Programmatically create and manipulate image data. 2. Programmatically create interactive and animated 2D and 3D computer graphics. 3. Apply mathematical techniques to create and animate computer graphics. 4. Analyse images data using computer vision algorithms. 5. Create informative and interactive visualisations of data and information |
05 | Mandatory |
2 |
Software Internship / Professional PracticeThe software placement / internship offers the student the opportunity to apply the knowledge and skills gained throughout the course in a relevant work-place setting and facilitates the student in developing the practical competencies and communication skills necessary to function as an effective team member in the work environment. In the event of a work placement not being available to a student, the student will be required to undertake the following: Work on a 20-credit team-based software development project. The project will provide the learner the opportunity to gain experience at working on a project similar to one encountered in the software development industry, The project will be on a topic selected from a list, or alternatively one proposed by the student subject to suitability. The project must deal with a task or problem deemed to be of sufficient technical challenge and depth as agreed by an academic supervisor. Students will be encouraged to undertake the project as part of a team to simulate, in as far as possible, an industry placement / internship. Successfully complete the 5-credit Project Management module and demonstrably apply general project management principles to their software development project. Successfully complete the 5-credit Data Representation module and incorporate complex heterogeneous data formats and protocols into their software development project. Present their project to an expert panel constituted from the Course Board and, if possible, a representative from the ICT industry. A third pathway through Semester 6 is for a student to enrol in an Erasmus exchange programme with an appropriate academic institution subject to approval by the programme board. Learning Outcomes 1. Contribute as an individual or as a full team member to the design, development, maintenanceor testing of software to solve a real-world problem. 2. Understand the importance of project management and its practical application to the software development process. 3. Use an appropriate development methodology to create or maintain a complex software application. 4. Understand the issues involved in designing,developing and maintaining software that utilises complex heterogeneous data. |
30 | Mandatory |
2 |
Project ManagementThis module is designed to enable the student to understand and apply project management concepts, methodologies, tools, and techniques to software development. Learning Outcomes 1. Have a comprehensive understanding of Project Management in the software industry. 2. Understand the general project management life cycle and general project management knowledge area processes,and how these apply to software development. 3. Understand software development project management concepts, tools, and techniques, as used in thedevelopment ofsoftwareprojects and applications. 4. Apply software development project management concepts, tools, techniques, and skills to a practical project assignment. 5. Have a comprehensive understanding of the Agilemethodology approach to software development, it’s origins, values, principles, approaches, tools, practices, and techniques in relation to the development of a software project. 6. Work both independently and as a team member using industry-standard project management tools and methodologies to navigate the inherent complexity in developing software. |
05 | Elective |
2 |
Data RepresentationA module in which students will investigate and operate the protocols, standards and architectures used in representing and querying the data that exists across the internet. Students will also gain practical experience in developing applications that interact with such data. Learning Outcomes 1. Compare data models, formats, and architectures used in applications. 2. Write software applications that adhere to common standards and protocols. 3. Explain the basic mechanisms by which application data is transmitted across the internet. 4. Design and utilise application programming interfaces for interacting with data sources. |
05 | Elective |
Progression
Students successfully completing Year 3 of the Bachelor of Science in Computing in Software Development (Level 7), can then apply internally for Year 4, Bachelor of Science (Honours) in Software Development.
Download a prospectus
Entry Requirements
Leaving Certificate Entry Requirement | 5 subjects at O6/H7 |
QQI/FET Major Award Required | Any |
Additional QQI/FET/Requirements | None |
Fees
Total Fees EU: €3000
This annual student contribution charge is subject to change by Government. Additional tuition fees may apply. Click on the link below for more information on fees, grants and scholarships.
Total Fees Non-EU: €12000
Subject to approval by ATU Governing Body (February 2025)
Further information on feesCareers
Graduates gain employment as computer professionals in all areas of software design, development and maintenance and IT training.
Further Information
Contact Information
Department of Computer Science & Applied Physics
Head of Department
Gareth Roe
T: + 35391742389
E: gareth.roe@atu.ie
Computer Science & Applied Physics