def deploy(): db.drop_all() db.create_all() convery = Professor(name='Amanda Convery', department='Accounting') crissinger = Professor(name='Bryan Crissinger', department='Mathematics') course1 = Course(coursenum="ACCT315", title="Intermediate Accounting", description="In-depth coverage of financial accounting.", professor=convery) course2 = Course(coursenum="ACCT316", title="Intermediate Accounting", description="Continuation of ACCT315.", professor=convery) course3 = Course( coursenum="MATH201", title="Introduction to Statistics I", description= "Exploratory data analysis, basic probability, discrete and continuous distributions, sampling distributions and confidence intervals, and one- and two-sample hypothesis tests on means and proportions. ", professor=crissinger) course4 = Course( coursenum="MATH202", title="Introduction to Statistics II", description= "Two-sample tests on means and proportions, chi-square analysis of contingency tables, completely randomized and randomized block designs, factorial experiments, etc.", professor=crissinger) db.session.add(convery) db.session.add(crissinger) db.session.add(course1) db.session.add(course2) db.session.add(course3) db.session.add(course4) db.session.commit()
def generate_courses(courseList): myList = [] counter = 0 for each in courseList: myList.append(Course(counter,each[0],each[1],each[2])) counter += 1 return myList
def load_courses(self): courses = [] with self.connection.cursor() as cur: cur.execute("select id, title, max_students from courses") for row in cur: course = Course(int(row['id']), row['title'].strip(), int(row['max_students'])) courses.append(course) return courses
def show_quizzes(): if not session.get('logged_in'): return redirect(url_for('login')) courseID = int(request.args.get('courseID')) db = get_db() course = Course.getCourseFromDB(courseID,db) quizzes = course.getQuizzes(db) return render_template('quizzes.html', course = course, quizzes = quizzes)
def load_courses(self): courses = [] lines = default_read_and_filter_csv('courses.txt') for line in lines: courses.append( Course(int(line['id']), line['title'].strip(), int(line['max_students']))) # We sort the courses by their ID courses.sort(key=lambda course: course.id) return courses
def split_course(course, index): before = Course(course.semester_names[:index], None, course.is_1x) after = Course(course.semester_names[index:index + 1], None, course.is_1x) for i in range(index + 1): # if i == len(course.semester_names) - 1: # continue name = course.semester_names[i] if i < index: before.add(name, course.get(name)) else: after.add(name, course.get(name)) return (before, after)
def show_course(): if not session.get('logged_in'): return redirect(url_for('login')) courseID = int(request.args.get('courseID')) db = get_db() course = Course.getCourseFromDB(courseID,db) sections = course.getSections(db) return render_template('course.html', course = course, sections = sections)
def show_homepage(): if not session.get('logged_in'): return redirect(url_for('login')) role = session['role'] db = get_db() # teacher if role>1: courses = Course.getAllCourses(db) return render_template('homepage_t.html', courses = courses) else: return render_template('homepage_s.html', sections = [])
def get_course(self): """ Returns a Course using the mock course data and the TimeBlockFactory """ course = random.choice(mock_courses) time_blocks = [ TimeBlockFactory().get_time_block() for i in range(MAX_TIME_BLOCKS_FOR_COURSES) ] return Course(department=course['course_department'], number=course['course_number'], name=course['course_name'], time_blocks=time_blocks)
def course_charging (plan): for i in range(len(plan)): row = plan.loc[i] new_course = Course( Id= row['Id'], name= row['Name'], VH= row['VH'], correlatives= row['Correlatives'] ) courses_list.append(new_course) print('The courses has been charged successfully')
def create_courses(): """ Substracts course information and put into list """ # create list for courses allcourses = [] # load courses as classes in allcourses-list with open("../data/vakken.csv", "rt") as coursefile: # clean text courses = csv.reader(coursefile) for row in courses: for text in row: course_info = text.split(";") # add course name course_name = course_info[0] # add amount of lectures course_lectures = course_info[1] # add amount of seminars course_seminars = course_info[2] # add max amount seminars course_max_sem = course_info[3] if course_max_sem == "nvt": course_max_sem = 0 # add amount of practicals course_practicals = course_info[4] # add max amount practicals course_max_prac = course_info[5] if course_max_prac == "nvt": course_max_prac = 0 # add course to list allcourses.append( Course(course_name, course_lectures, course_seminars, course_max_sem, course_practicals, course_max_prac)) return allcourses
def create_course_groups(course_section_data: [dict]) -> [Course]: # TODO (docs) """ :param course_section_data: :return: """ course_section_data = sorted(course_section_data, key=itemgetter('subjectCourse')) courses = [] for key, values in groupby(course_section_data, key=itemgetter('subjectCourse')): values = list(values) sections = [] for value in values: sections.append(make_section(value)) courses.append(Course(sections)) return courses
def new_quiz(): if not session.get('logged_in'): return redirect(url_for('login')) courseID = int(request.args.get('courseID')) db = get_db() course = Course.getCourseFromDB(courseID,db) sections = course.getSections(db) questions = course.getQuestions(db) if request.method == 'POST': if request.form['action'] == 'save': title = request.form['title'] description = request.form['description'] sectionIds = request.form.getlist('section') questionIds = request.form.getlist('question') Quiz.newQuiz(title, description, sectionIds, questionIds, db) flash("Quiz saved!") return redirect(url_for('show_quizzes', courseID=courseID)) return render_template('new_quiz.html', courseID = courseID, sections = sections, questions = questions)
def edit_quiz(): if not session.get('logged_in'): return redirect(url_for('login')) courseID = int(request.args.get('courseID')) quizID = int(request.args.get('quizID')) db = get_db() quiz = Quiz.getQuizFromDB(quizID,db) course = Course.getCourseFromDB(courseID,db) sections = course.getSections(db) questions = course.getQuestions(db) if request.method == 'POST': if request.form['action'] == 'save': quiz.title = request.form['title'] quiz.description = request.form['description'] sectionIds = request.form.getlist('section') questionIds = request.form.getlist('question') quiz.saveChanges(sectionIds, questionIds, db) flash("Quiz saved!") return redirect(url_for('show_quizzes', courseID=courseID)) else: selectedSecIds = quiz.getSectionIds(db) for section in sections: section.check = 0 for secId in selectedSecIds: if section.id == secId: section.check = 1 selectedQIds = quiz.getQuestionIds(db) for question in questions: question.check = 0 for qId in selectedQIds: if question.id == qId: question.check = 1 return render_template('edit_quiz.html', courseID = courseID, quiz = quiz, sections = sections, questions = questions)
promo_1x = defaultdict(int) promo_1x['1x_2T2016_2'] = 3 promo_1x['1x_1T2017'] = 3 promo_1x['1x_2T2017'] = 3 promo_1x['1x_2T2017_2'] = 19 promo_1x['1x_2T2018'] = 2 promo_1x['1x_1T2019'] = 1 promo_1x['1x_2T2019'] = 3 promo_1x['1x_2T2019a'] = 4 promo_2x = defaultdict(int) promo_2x['2x_1T2017'] = 1 promo_2x['2x_3T2017'] = 2 promo_2x['2x_3T2018'] = 1 course_1x_raw = Course(course_names_1x, self_paced_1x, True, promo_1x) course_2x_raw = Course(course_names_2x, self_paced_2x, False, promo_2x) reclean = True loaded = False while True: try: # Load and clean data if not loaded: load_dictionaries(course_1x_raw) load_dictionaries(course_2x_raw) loaded = True if reclean: course_1x = clean_data.clean(course_1x_raw) course_2x = clean_data.clean(course_2x_raw)
from PrereqScraper import getPrereqs from classes import Course class Course: def __init__(self, department, code): self.department = department self.code = code #self.prereqs = PrereqScraper(department, code) course = Course("CSE", "100") print(getPrereqs(course))
def average_age_by_season(course): spring = Course() summer = Course() fall = Course() for sem in course.semester_names: semester = course.get(sem) if semester.season == 'spring': spring.add(sem, semester) elif semester.season == 'summer': summer.add(sem, semester) else: fall.add(sem, semester) spring_age = [ entry.age if (entry.age != None and entry.age > 7) else np.nan for entry in spring.get_all_entries() ] summer_age = [ entry.age if (entry.age != None and entry.age > 7) else np.nan for entry in summer.get_all_entries() ] fall_age = [ entry.age if (entry.age != None and entry.age > 7) else np.nan for entry in fall.get_all_entries() ] spring_percent = [ 1 if (entry.age != None and entry.age >= 12 and entry.age <= 19 and (entry.education_level == 'hs' or entry.education_level == 'jhs')) else 0 for entry in spring.get_all_entries() ] summer_percent = [ 1 if (entry.age != None and entry.age >= 12 and entry.age <= 19 and (entry.education_level == 'hs' or entry.education_level == 'jhs')) else 0 for entry in summer.get_all_entries() ] fall_percent = [ 1 if (entry.age != None and entry.age >= 12 and entry.age <= 19 and (entry.education_level == 'hs' or entry.education_level == 'jhs')) else 0 for entry in fall.get_all_entries() ] print("spring age:", np.nanmean(spring_age), np.nanstd(spring_age)) print("summer age:", np.nanmean(summer_age), np.nanstd(summer_age)) print("fall age:", np.nanmean(fall_age), np.nanstd(fall_age)) print("spring age:", np.mean(spring_percent)) print("summer age:", np.mean(summer_percent)) print("fall age:", np.mean(fall_percent))
from utils import make_section, print_solutions, get_number_of_pairs problem = Problem() section_type_one = [ make_section(course_sections[0]), make_section(course_sections[1]) ] section_type_two = [ make_section(course_sections[2]), make_section(course_sections[6]), make_section(course_sections[7]) ] course_one = Course(section_type_one) course_two = Course(section_type_two) problem.addVariable('a', course_one.sections) problem.addVariable('b', course_two.sections) total_solutions = problem.getSolutions() print('Total Pairs: {}'.format(get_number_of_pairs(total_solutions))) # TODO: fix so it works when the a.end_time matches b.start_time or vice versa def no_time_conflicts(a: CourseSection, b: CourseSection) -> bool: return (a.end_time < b.start_time or b.end_time < a.start_time) and \ (a.end_time != b.end_time or a.start_time != b.start_time)
from classes import Teacher, Student, Course compsci = Course("Computer Science 101", "CS101") maria = Student("Maria", "Martinez") joe = Student("Joe", "Smith") ashven = Student("Ashven", "Matthew") imani = Teacher("Imani", "Matthews") compsci.add([maria, joe, ashven]) compsci.set_teacher(imani) print(compsci.teacher, compsci.students) joe.addgrade(compsci, 80) joe.addgrade(compsci, 89) joe.addgrade(compsci, 100) print() print("GPA for {} is {:.2f}.".format(joe, joe.gpa_for(compsci)))
os.system('cls') print (Menu) menu_pic = input('Select one of the above and hit "Enter": ') if menu_pic == '1': d_code = input('\nEnter "ENGR", "CHHS", or "ARTS": ') number = input ('Enter course number, 000 to 999: ') title = input ('Enter course title: ') print('\nSelect one of the following instructors: \n') if d_code == 'ENGR': depts[0].listFaculty() elif d_code == 'ARTS': depts[1].listFaculty() else: depts[2].listFaculty() instructor = input('\nInstructor name (from above): ') x = Course(d_code, number, title, instructor) if x not in F2020: F2020.addCourse(x) input('\n' + d_code + number + ' added to ' + F2020.getName( ) + '"Enter" to continue') else: print('Course already in catalog ', F2020.getName( )) if menu_pic == '2': F2020.printCatalog() course = input('\nEnter course as name+number, e.g. "ENGR-101": ') course_list = F2020.listCourses() found = False for c in course_list: if course == c.getNameNumber(): found = True stud_list = GMU.listStudents()