The Internship Interview: Developer's Choice

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

The Internship Interview: Developer's Choice(Team Optional: Maximum of 2-3 collaborators)

Project Code and Report Due: Friday, December 6th, 2024 11:59 pm*(This is a hard deadline. No extensions will be granted!)

Problem Statement:

You have been selected to interview for an exclusive internship with a top researcher inyour field (e.g., psychology, biology, physics, economics, etc.). They have asked you tobring an example of your programming skills as applied to a dataset or simulationproblem of your choice to demonstrate that you have the ability to work through acomplex problem and develop a solution or model. They are particularly interested inyour ability to demonstrate your grasp of abstraction and the integration of proceduraland object-oriented programming into your solution or model. In addition, the researcheihas specified they need to know you understand, can demonstrate, and communicateabout key programming concepts in your solutions (see list below)

Your report documents should be as professional and seamless as possible for theresearcher to be able to run and understand. This means your main code should ideallyrun from one file, using program design techniques to create a smooth interactionexperience for the researcher, You have been provided with a report template (below)that is used in the researcher's lab.

The primary goal of this project is an assessment of your ability to meet two ofthe major course learning objectives as listed in our syllabus:

LO 2. Students can convert a problem statement into a working solution that solves theproblem.

LO 3. Students understand abstraction and can break down a program into appropriateprocedural and object-oriented components.

Your final project should also demonstrate:


  • Understanding and mastery of course coding skills, CS concepts, and bestpractices in code organization and documentation.
  • Creating complex, interactive program(s) that adapt modular elements fromprevious projects in novel and creative ways.



  • Applying best practices in OO design methods in the program composition
  • Modularity making functions work as independent units that you can re-use atany time. This means making small, modular functions with keyword parametersthat contribute to larger composite functions with test functions for compositeshapes and scenes.
  • User Interaction: Use conditionals, user input prompts, and command-inearguments to add nuance and interactive features to your project.
  • Best practices for code organization: File docstrings, function docstrings, filecomments, instructions for users related to interactive features (command line oruser input text),Effective use of main code toif name ==' main ': in files
  • Function complexity: randomization, retum values, and multiple assignmesesuse lists to effectively organize multiple complex objects, dictionaries, sets,tuples.
  • Plots, graphs, visualizations: appropriate graphics to effectively communicateresults of analysis with concise but meaningful interpretations and explanationsfor your audience.


Your design must also include the following item:

  • Inheritance Classes: One part of the project that uses parent and child classeswith accessor and mutator methods to separate how data is stored from how it isused in Classes and Objects.

And one of the following items:


  • Complex Objects and Scenes: One simulation with a Zelle complex objects(e.g., collections ofZelle graphics primitives). Each complex object will have afunction that initializes it ( init).Complex objects that change will have afunction that controls it (e.g., changes it, animates it, etc.) and a function thattests it.
  • Graphical User Interface (GUl): instead of a program that is run from thecommand-line, build a GUl using TKinter that allows the user to control programexecution.


Project Report Template and Requirements:
Project Title:
Project Author(s):
Project Abstract and Background:
A clear description of the "big picture" of the project and important work that has beendone in the field.

Project Design Sketch/lmage:

The project report will address each of the following:

1.Provide a brief description of the specific programming processes, concepts,andor approaches to your potential employer so they can quickly understandand be persuaded of your programming skills based on the key components of your work.

2.Explain the scientific processes, datasets, and concepts that you haveembedded into your process.

3. Provide a critical evaluation of your design and what you might do differently in the next iteration. This is an analysis of your own solution and its rationale,methods,and implications. 

4.Provide an example(s) of how you have written concise, precise, easy to read4.code and comments so that it can be easily maintained using good coding styleand organization.

5.Provide plots, graphs, visualizations, screenshots and/or video links thatdemonstrate key parts or features of your project with descriptions of theirsignificance.

6. ldentify any potential biases or limitations in the dataset(s) or solutions/modelsand what might be done to safeguard against any harm or negative impact of theanalysis.

7. Provide sources that you relied on and properly cite your sources of consultationor inspiration for this project (e.g. peer or expert consultation, images found onthe internet,research publications, websites, tools, etc.).

As well as a personal reflection in which you (all team members separately):

1. Clearly identify your programming and analysis strengths, areas where you arestill learning, and why you chose this topic/dataset for the interview todemonstrate your skills and knowledge.
How does this project demonstrate how much you have learned aboutintroductory CS concepts, good programming practices, and computationalproblem solving?

Happy Coding!

发表评论

电子邮件地址不会被公开。 必填项已用*标注