コード例 #1
0
ファイル: manage.py プロジェクト: abbysawyer2/flask-database
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()
コード例 #2
0
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
コード例 #3
0
 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
コード例 #4
0
ファイル: CSExamer.py プロジェクト: HansBWang/CSExamer
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)
コード例 #5
0
 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
コード例 #6
0
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)
コード例 #7
0
ファイル: CSExamer.py プロジェクト: HansBWang/CSExamer
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)
コード例 #8
0
ファイル: CSExamer.py プロジェクト: HansBWang/CSExamer
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 = [])
コード例 #9
0
    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)
コード例 #10
0
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')
コード例 #11
0
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
コード例 #12
0
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
コード例 #13
0
ファイル: CSExamer.py プロジェクト: HansBWang/CSExamer
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)
コード例 #14
0
ファイル: CSExamer.py プロジェクト: HansBWang/CSExamer
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)
コード例 #15
0
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)
コード例 #16
0
ファイル: test.py プロジェクト: ppaleja/ForYourPlan
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))
コード例 #17
0
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))
コード例 #18
0
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)

コード例 #19
0
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)))
コード例 #20
0
 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()