Graduate Certificate in Software Development

NUS logo transparent bkgd
The Graduate Certificate in Software Development is a customised programme designed and developed to instill software development knowledge and skills in students with a background in programming or adjacent subjects.

Content Block Image
Graduate Certificate in Software Development
The programme include three courses. The first course on programming methodology, the second course on data structures and algorithms, and the third course on software systems.

The programme lectures and tutorials are delivered via distance learning. Examinations are delivered in-person and on location. Students are expected to participate fully in online learning components as well as travel to examination location(s) during assigned examination dates and times.

                               
                                                                           Course Objectives                                                                                  

 

Gain understanding of problem solving concepts in computing and programming, including problem formulation, program development, coding, testing and debugging as well as constructs and data structures

Learn computational problem solving, utilise common data structures as well as strategies and algorithms to design efficient solutions


Develop software systems through object-oriented system analysis, object-oriented system modelling and design, implementation, and testing, while taking modularisation criteria, program correctness, and software quality into consideration


WHO SHOULD ATTEND: 

  • Computer Science students who wish to learn Software Development.  
  • Students or professionals who want to work in the Singapore information technology industry

MODE OF DELIVERY

Each course requires approximately 10 hours of work per week including

  • Lectures
  • Tutorials
  • Project
  • Preparatory work

Each course is delivered over 13 weeks.

Content Block Image

                               
                                                                           Course Details                                                                                        

 

IT5501 Programming Methodology I

4 Units                                                                                                                                                                                       

Course Description

This module introduces the fundamental concepts of problem solving by computing and programming using an imperative programming language. Topics covered include problem solving by writing pseudo-codes, basic problem formulation and problem solving, program development, coding, testing and debugging, fundamental programming constructs (variables, types, expressions, assignments, functions, control structures, etc.), fundamental data structures: arrays, strings and structures, and basic recursion.

Learning Outcomes

Upon completing this module, students will develop a comprehensive skill set in Python programming and problem-solving. They will learn to formulate and solve problems, write, test, and debug Python code, and understand programming fundamentals like variables, data types, and control structures. Proficiency in functions, data structures, and recursion will be gained. Students will apply these concepts practically, enhancing logical thinking and algorithmic approaches. The module establishes a solid foundation in computational problem-solving for the students, readying them for advanced computer science studies.

Pre-requisites

NIL


IT5502 Programming Methodology II

4 Units                                                                                                                                                                                       

Course Description

This module introduces non-computing students to efficient computational problem solving in an accelerated pace.  Students will learn to formulate a computational problem, identify the data required and come up with appropriate data structures to represent them, and apply known strategies to design an algorithm to solve the problem.  Students will also learn to quantify the space and time complexity of an algorithm, prove the correctness of an algorithm, and the limits of computation. Topics include common data structures and their algorithms (lists, hash tables, heap, trees, graphs), algorithmic problem solving paradigms (greedy, divide and conquer, dynamic programming), and NP-completeness.

Learning Outcomes

After completing the module, students should be familiar with the common data structures and their algorithms and be comfortable enough to decide which one to use in which situations. Students should gain confidence in formulating a given problem as a computational problem and identify the hardness of the problem, as well as applying one or more common paradigms to design an efficient solution to that problem.

Pre-requisites

IT5501 Programming Methodology I

IT5503: Software Development

4 Units                                                                                                                                                                                    

Course Description

This module introduces the necessary conceptual and analytical tools for systematic and rigorous development of software systems. It covers four main areas of software development, namely object-oriented system analysis, object-oriented system modelling and design, implementation, and testing, with emphasis on system modelling and design and implementation of software modules that work cooperatively to fulfill the requirements of the system. Major software engineering issues such as modularisation criteria, program correctness, and software quality will also be covered. Tools and techniques for writing modern web development.

Learning Outcomes

Upon completing this module, students will gain a robust understanding of software development, including frontend, backend and database implementation. They'll develop skills in web-based frameworks for UI creation and delve into server-side technologies like Flask. The course also covers the DevOps Toolchain and the interactions within the software stack. Hands-on experience in full-stack development of web applications in both individual and group projects will enable students to understand software security, performance, and identify stack bottlenecks, providing a comprehensive foundation in modern software development.

Pre-requisites

IT5502 Programming Methodology II

AWARD OF GRADUATE CERTIFICATE

Upon fulfilment of the certificate requirements, participants will be awarded the NUS Graduate Certificate in Software Development.

PROGRAMME FEE

SGD $ 4,350.00. Entry test fee applies.

SGD $12.85 administrative fees applies for the first course.
SGD $25.70 administrative fees apply for each of the following two courses.




Frequently Asked Questions (FAQ)

                                                                                                                                                                              


How is the Graduate Certificate beneficial for future studies at NUS?

The Graduate Certificate courses may be recognised and stacked towards the NUS Master of Computing (General Track) degree.

Admission to the NUS Master of Computing (General Track) degree is not guaranteed and is subject to School of Computing’s review and approval. Successful applicants for the Master of Computing (General Track) who have completed the Graduate Certificate courses may be able to reduce the fees for the Master's programme corresponding to the courses exempted.

What is the validity of the graduate certificate courses?

The validity of the courses is 5 years for credit transfer requests.

What is the duration of the programme?

The courses should be completed within 12 months.

Are the individual courses in the Graduate Certificates graded?

Yes.

Do individual courses come with separate transcripts and how can they be accessed?

Students can access their results via NUS myEduRec portal*.

More information on transcripts can be found here.

*Graduating students can still access myEduRec and print their Unofficial Transcripts within 30 days from their official conferment date. Afterwards, an account extension request must be submitted to NUS IT Care.

What are the requirements to be awarded the Graduate Certificate?

To be awarded the Graduate Certificate, the student must complete all three courses, and obtain at least a GPA of 2.5.

Students who fail to obtain a minimum GPA of 2.5 may be given a Certificate of Participation.

When are the Graduate Certificates awarded and distributed?

Certificates are issued around 2 months after completion of all requirements.

Is there a sample certificate?

Following is a sample of the certificate which will be issued by Accredible:

Sample Graduate Certificate (JPG)

Do Graduate Certificate students get access to NUS alumni benefits?

No. NUS Alumni benefits are available for Undergraduate Degree, Postgraduate Diploma and Postgraduate Degree students.

Do Graduate Certificate students get access to NUS email and student accounts?

Yes. All Graduate Certificate students get access to an NUS student account and a student email address (limited to the duration of the Graduate Certificate programme).

SPEAK TO US

If you would like to find out more about the NUS Graduate Certificate in Software Development, please email us at sgsoftwaredevgc@nus.edu.sg or call us at +65 6601 5610.

 
26 April 2024