Maybe I am not understanding how salesforce works but I am trying to link up my custom object named "Program" to hold an array (or list) of another custom object I have called "Student". The structure I am trying to set up is to have my program hold a bunch of students. Maybe doing this through objects isn't the best way but I don't how else to set up this type of relationship. I'm importing the program and student information through csv. I've googled around and saw that people just make a junction object and connect the two objects together that way but I fail to see how that would get you to connect an object to multiple objects
In Salesforce you would not really want to hold the values for another object in an array, you would normally use a Lookup or Master Detail relationship. Considerations for relationships. Custom object relationships overview.
If you need there to be a junction object because the Students and Programs have a many to many relationship then that junction object would have 2 Master-Detail or Lookup relationships, 1 to Student and 1 to Program. The junction object can also be used to store attributes of the relationship, e.g. enrollment date, status, etc.