为学生提供课程

I am confused with the logic when a students gets offered courses in a semester. these are the tables i have;

Class
Course
Semester

Now, the current schema is such as Admin selects list of courses which will be offered in Computer Science Degree in a semester say Fall 2014.

Now, a student in 4th Semester shall be offered different courses than students in 3rd semester and so on. at this last point i am confused how to separate courses offered into semesters (1, 2 and so on)

Here is the schema

Class

class_id (int)
class_year (int) 
class_semester (int) F.K
class_course (int) F.K
class_status (int) F.K

Semester

sem_id (int)
Sem_name (varchar 100)

course

course_id (int)
course_code(varchar 10)
course_name (varchar 100)
course_credit (int)

Here you need to design and reference or link your tables in such a way as below :

For example :

Class Table - Suppose you have class A and Class B with class_id as column.

Semester Table- Here you will have reference to your class tables class_id 
so your semester table goes like Semester_ID / Class_ID /...

Courses Table - Here you will have reference to semester_id like course_id /semester_id /...

This way you can have access or can create courses specific to semester and like wise.

Let me know if you have any doubts.

Regards, Zeeshan.