OrangeAed / NC_Historic_Companion

1 stars 0 forks source link

Assessment of current capability #3

Open OrangeAed opened 1 month ago

OrangeAed commented 1 month ago

Hi Alex, I need to get a gauge of where you currently are in your understanding of programming. I am sorry this looks like an assignment. I promise it will start to get more fun soon.

You are not expected to know all or even any of these concepts, but if you do know them I don't want to waste your time. I would be shocked if you could do half of these so don't worry. If you don't know how to do something, just skip it. I have provided a list of programming exercises that test various topics in programming. They are not in any particular order but some problems might require skills from other problems.

Try your best but don't stress if you can't figure it out. Don't guess your way to a solution, as it will just hurt you in the long run. Aim to spend no more than 15 minutes on the questions (keep answers to 1-2 sentences), and 15-25 minutes on each programming one. At the end of the time (or if you solve it early) add a comment with the code that you used so that I can take a look at it (even if you are not finished). DO NOT LOOK UP ANSWERS ONLINE OR USE AI. You can look up things like "How do I access a specific index in an array?" But not the solution to the questions themselves.

When you start this, move it into the "In progress" section on the KanBan board. When you are ready for me to take a look, move it to the "Pending Review" section of the KanBan board.

  1. Describe what a variable is and why programmers use them.
  2. What is "hard coding" and why should it generally be avoided?
  3. How many times should you need to write the same code on average when implementing a new feature?
  4. What is a type in programming?
  5. Describe what a class is. How is it different from an object?
  6. What is an interface in object-oriented programming?
  7. What is looping in programming? How is it different than Nesting?
  8. What is the principle of minimum information in software engineering?
  9. How do computers store data? How is a programmer able to access and change that data?
  10. What is a floating-point number in computer science? Bonus points if you can briefly describe how they work. Are they faster or slower than other numbers like integers?
  11. If I make a loop that creates an int variable with value 0, then adds 1 to it over and over forever, what will happen? (Will the variable continue to get larger and larger forever, will the program crash, or will something else happen?) Why?
  12. How do websites work? When I type in a URL, how does the website know what to show me? How is the information formatted?
  13. What is the difference between front-end and back-end development?
  14. What are the main technologies used in web development? (one formats websites, one adjusts the styles of things, and one controls logic and state for the website)

You may use any programming language you want for this, I am just getting a sense of your understanding of the concepts. I know 90% of the most used languages and I can figure out the rest pretty easily.

You might need to make a leetcode account for this. Use the same email as your GitHub. I. https://leetcode.com/problems/add-two-integers/description/ II. https://leetcode.com/problems/running-sum-of-1d-array/description/ III. https://leetcode.com/problems/two-sum/description/ IV. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/ V. https://leetcode.com/problems/linked-list-cycle/description/ VI. https://leetcode.com/problems/valid-palindrome/description/ VII. https://leetcode.com/problems/longest-palindromic-substring/description/

Here are some other ones without built-in tests: A. Make an HTML page for a basic User Login screen with labeled input boxes for username and password, as well as a submit button. You do not need to perform any logic for a user login. Make sure the boxes are centered with a readable text size and font. B. Write a JSON file that stores a collection of customers. Each customer will have a