Software Engineering Research Program

Software Engineering Research Program

Program Learning Objective

In the Software Engineering Research Program, students will gain a solid foundation in software development, system design, and coding techniques. They’ll dive into software architecture, design patterns, and essential practices in coding, debugging, and testing. The program will enhance students’ skills in programming languages like Python, Java, or C++, while also providing a strong understanding of algorithms, data structures, and software documentation. Additionally, students will examine emerging trends in software development, including machine learning, cloud computing, and mobile app development.

Feel free to reach out and schedule a complimentary consultation with our counselor. Each mentorship program is tailored to match an individual’s level of expertise and research interests.

Program Outline

Week 1:

The student will explore fundamental software engineering concepts, including the software development life cycle (SDLC), version control (Git), and documentation practices. They will learn how to write clean, maintainable code and set up a development environment.

Week 2:

The student will review basic programming concepts and algorithms, such as loops, conditionals, and recursion. They will implement common algorithms like sorting and searching, and optimize code for efficiency.

Week 3:

The student will learn about various data structures (e.g., arrays, linked lists, trees) and apply object-oriented programming (OOP) principles to design systems. They will create basic classes, methods, and interfaces in their chosen programming language.

Week 4:

The student will study software architecture and common design patterns (e.g., MVC, Singleton, Factory). They will use these patterns to structure a small-scale software system, focusing on modularity and maintainability. The mentor will complete a mid-point evaluation to be given to the student.

Week 5:

The student will explore various testing strategies, such as unit testing, integration testing, and automated testing frameworks. They will learn to debug code using tools like integrated development environments (IDEs) and improve software quality.

Week 6:

The student will learn how to design and implement databases using SQL, and how to integrate third-party APIs into their software. They will create a simple application that pulls data from a database or API.

Week 7:

The student will dive into current trends in software engineering, such as machine learning or cloud computing. They will apply machine learning algorithms in a basic project or deploy an application to a cloud platform like AWS or Google Cloud.

Week 8:

The student will complete a final project that integrates the skills learned during the program. They will present their project, demonstrate its functionality, and reflect on the development process, challenges, and solutions.

Software Engineering Mentors

Mentor from Duke University

Research interests include wearable computing, activity recognition, context awareness, machine learning, artificial intelligence, engineering education, and more...

Mentor from Brown University

Research interests include distributed cognition, simulation environments, graphical interfaces, game-based approaches, and more...

Who Should Sign Up For This Program?

The software engineering research program is designed for those who have a basic understanding of programming and want to expand their knowledge of software development, or for students considering a career in software engineering. The program is especially suited for those who enjoy hands-on learning, working on collaborative projects, and tackling real-world software challenges.

Next Available Start Date

Please contact through our application form for more information!

Past Students’ Case Studies

Students’ names have been anonymized to ensure their privacy is protected.

Warren Su

Residence: Shanghai School: Shanghai World Foreign Language Middle School Intended...

Gabriel Hu

Residence: Shanghai, China School: Shanghai American School Intended major: Computer...

Hanita Palanichamy

Residence: Tiruchirappalli, India School: International High School Intended major: Computer...

Get in touch with us

If you are interested in the Collegiate Mentorship Program, contact us or sign up to start your journey toward a successful future!