Software Development
Bachelor of Science (Honours)
Sonraí an Chúrsa
Cód CAO | AU676 |
---|---|
Céim | 8 |
Fad ama | 4 Years |
Pointí CAO | 341 (2024) |
Modh Seachadta | On-campus |
Suímh campais | Galway City – Dublin Road |
Modh Seachadta | Lánaimseartha |
Socrúchán oibre | Tá |
Forbhreathnú Cúrsa
How do we interact with computers? How is computing evolving? Software Development is about solving problems, designing, and implementing new applications and solutions, and developing your own personal skills for communication, leadership and management. The BSc (Hons) in Computing (Software Development) is a four-year degree programme designed to provide students with the theoretical and practical knowledge necessary to pursue a career as a software developer.
The course places a major emphasis on the development of practical programming language skills, problem solving and the application of computer science theory to real-world problems.In addition to becoming proficient in programming languages such as Java and C#, students will learn how to design, create and test software solutions for a world where mobility, connectivity, heterogeneity and Big Data are rapidly becoming part of everyday life.
The degree programme provides a thorough practical grounding in all aspects of software development including:
Programming languages and paradigms
Computer architectures
Software engineering
Web application development
Mobile programming
Relational and NoSQL databases
Computer networks
Graphics programming
Virtualisation and cloud computing
Distributed computing
The semantic web
Artificial intelligence
Sonraí an Chúrsa
Bliain 1
Seimeastar | Sonraí an Mhodúil | Creidmheasanna | Éigeantach / Roghnach |
---|---|---|---|
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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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 |
Bliain 2
Seimeastar | Sonraí an Mhodúil | Creidmheasanna | Éigeantach / Roghnach |
---|---|---|---|
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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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". Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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 |
Bliain 3
Seimeastar | Sonraí an Mhodúil | Creidmheasanna | Éigeantach / Roghnach |
---|---|---|---|
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. Torthaí Foghlama 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. . Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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. Torthaí Foghlama 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 |
Bliain 4
Seimeastar | Sonraí an Mhodúil | Creidmheasanna | Éigeantach / Roghnach |
---|---|---|---|
1 |
Research Methods in Computing and ITThis module is designed to provide students with an introduction to the methodologies (and their constituent methods) used to carry out a research project in Computer Science and cognate areas. The module aims to develop the critical thinking skills necessary for students to sift through an abundance of information in search of the pertinent and the factually accurate. The module will provide training and guidance in the application of modern research techniques in the delivery of several targeted assessments. Torthaí Foghlama 1. Apply appropriate research methods in the formulation and resolution of a research question. 2. Discuss current challenges and research foci in a selected area of Computer Science. 3. Independently acquire and assess relevant knowledgespecific to a chosenarea of Computer Science. 4. Formally exhibitresearch skills and domain knowledge within an area of Computer Science. 5. Demonstrate an understanding of relevant professional research standards. |
05 | Mandatory |
1 |
Emerging TechnologiesAn introduction to new and emerging technologies in computing. Technologies such as new paradigms, new programming languages, new infrastructures, and new communications protocols will be investigated. Torthaí Foghlama 1. Detect new and emerging technologiesin computing through reputable sources. 2. Contextualise an emerging technology by identifyingitsorigins and proponents. 3. Research an emerging technology in order to use it. 4. Implement a solutionto a computing problemusing an emerging technology. |
05 | Mandatory |
1 |
Advanced Software DesignThe module extends the learner's understanding of software design through the explication and critique of software design patterns and metrics for analysing design quality. Torthaí Foghlama 1. Develop enterprise software applications using class and package level design principles and best practice. 2. Apply object-oriented design patterns to create reusable and flexible software and enterprise software artefacts. 3. Analyse a complex problem and apply a solution using object-oriented precepts and conventions. 4. Analyse the structural quality of software artefacts using state-of-the-art design metrics. 5. Understand the limitations ofobject-orientation and the role of functional, declarative and multi-paradigm programming styles in modern software development. |
05 | Mandatory |
1 |
Advanced Cross-Platform Application DevelopmentThis module builds on the cross-platform development skillets with the integration of hardware sensors, design patterns, data sources and cloud-based technologies. Torthaí Foghlama 1. designa complexcross-platform application using appropriate design patterns. 2. use both local and remote data sources to manage relevant data for applications. 3. implement complex applications providing a good user experience that can be deployed across multiple platforms independent of physical form and input mechanisms. 4. incorporate advanced sensors and associated data into applications for a more rounded user experience. |
05 | Mandatory |
1 |
Distributed SystemsExplores fundamental concepts in the design and development of the distributed systems behind modern large-scale applications. Provides learners with the knowledge and skills necessary to design and develop fault-tolerant and scalable distributed systems. Torthaí Foghlama 1. Define and discuss the theory and concepts that underpin modern distributed systems. 2. Implement techniques for inter-process communication and data sharing. 3. Develop distributed applications that are fault-tolerant and scalable. 4. Analyse strategies for distributed data storage. |
05 | Mandatory |
2 |
Software EngineeringThis module examines modern approaches to the planning, design, delivery and maintenance of software systems. Torthaí Foghlama 1. Apply the principles and practices of modern software development processes. 2. Identify key patterns in the architecture and design of modern software systems. 3. Develop high-quality software using test-driven techniques. 4. Adopt effective strategies in maintaining, deploying, and securing software systems. |
05 | Mandatory |
2 |
Gesture Based UI DevelopmentA single semester module in software development for gesture based user interfaces. Torthaí Foghlama 1. Understand the different data streams that are available in a gesture based interface and how to use them succesfully |
05 | Mandatory |
2 |
Artificial IntelligenceThe objective of this module is to provide a general grounding in the theory and practice of key areas of artificial intelligence and their application to modern software development. Torthaí Foghlama 1. Discuss and implement the basic artificial intelligence techniques that relate to fuzzy and probabilistic inference, classification and predictive models, brute-force, heuristic and adversarial search. 2. Describe theoretical and practical aspects of the design and use of intelligent agents,including the technologies required for their development. 3. Design and implement an intelligent agent that can controla software artefact. 4. Apply the skills learned in the areas of intelligent computing to a variety of contexts and understand their limitations. |
05 | Mandatory |
2 |
Computational TheoryAn introduction to computational theory, computational complexity, and the evolution of computation from its historical origins to modern day paradigms. Torthaí Foghlama 1. Identify difficult computational problems in everyday computing. 2. Define the common models of computation. 3. Design computer programs using a variety of computational paradigms. 4. Analyse the complexity of an algorithm. |
05 | Mandatory |
Year |
Applied Project and Minor DissertationA capstone module that requires the learner to design, develop and deploy a project, either individually or in a group environment, delivering a piece of software in a timely and standards-driven manner. Torthaí Foghlama 1. Demonstrate the application of appropriate research methodologies and techniques related to software development. |
15 | Mandatory |
Dul chun cinn
Graduates who attain an award denomination of a 2.1 or above can apply for masters and doctoral programmes at ATU Galway City and other third-level institutions in Ireland and the UK.
Download a prospectus
Riachtanais Iontrála
Leaving Certificate Entry Requirement | 6 subjects at O6/H7 |
QQI/FET Major Award Required | Any |
Additional QQI/FET/ Requirements | Three Distinctions |
Táillí
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)
Tuilleadh eolais faoi tháillíProfessional Accreditation
Students have the opportunity in year 3 to undertake a professional certification programme, such as Oracle Certified Java Programmer or Oracle Certified MySQL Administrator.
Gairmeacha
Graduates from the programme can look forward to excellent career opportunities in software development roles with both indigenous and multinational companies.
ATU employment surveys from 2008-2014 show that 90% of students from the honours degree programme secure employment as a software developer before graduation.
Further Information
Eolas Teagmhála
Department of Computer Science & Applied Physics
Gareth Roe
Head of Department
T: + 35391742389
E: gareth.roe@atu.ie
Computer Science & Applied Physics