shreypatel19 commited on
Commit
9f5efd9
ยท
1 Parent(s): ac75410
app.py CHANGED
@@ -7,7 +7,7 @@ st.title("LSATLR Study")
7
  st.write("""Welcome to our Study! The guidelines are as follows:
8
  1. We'll start with a short survey followed by a pre-quiz of LSAT Logical Reasoning questions
9
  2. Then you'll be assigned to a learning session based on your group (A or B)
10
- 3. Use the "Click here when finished" to end session once you're done
11
  4. You'll then be directed to a post-quiz to review concepts learnt
12
  5. The study ends with a post survey to assess general experience
13
  6. You're expected to complete steps 1 - 5 in one sitting
 
7
  st.write("""Welcome to our Study! The guidelines are as follows:
8
  1. We'll start with a short survey followed by a pre-quiz of LSAT Logical Reasoning questions
9
  2. Then you'll be assigned to a learning session based on your group (A or B)
10
+ 3. Use the "Click here when finished" to end session once you're done
11
  4. You'll then be directed to a post-quiz to review concepts learnt
12
  5. The study ends with a post survey to assess general experience
13
  6. You're expected to complete steps 1 - 5 in one sitting
pages/llm_tutor.py CHANGED
@@ -3,6 +3,8 @@ import streamlit as st
3
  from utils.questions_dataset import system_instruction, get_model_tools
4
  from google.genai import types
5
  from google import genai
 
 
6
 
7
  st.set_page_config(page_title="LSAT Group A", page_icon="๐Ÿ“˜")
8
 
@@ -95,4 +97,7 @@ if user_input:
95
  st.session_state.gemini_history = st.session_state.chat.get_history()
96
 
97
  if next_btn:
 
 
 
98
  st.switch_page("pages/postquiz.py")
 
3
  from utils.questions_dataset import system_instruction, get_model_tools
4
  from google.genai import types
5
  from google import genai
6
+ import time
7
+ from utils.firebase_util import push_study_time_data
8
 
9
  st.set_page_config(page_title="LSAT Group A", page_icon="๐Ÿ“˜")
10
 
 
97
  st.session_state.gemini_history = st.session_state.chat.get_history()
98
 
99
  if next_btn:
100
+ print(time.time())
101
+ print(st.session_state.tutor_start_time)
102
+ push_study_time_data(time.time() - st.session_state.tutor_start_time)
103
  st.switch_page("pages/postquiz.py")
pages/postquiz.py CHANGED
@@ -1,6 +1,7 @@
1
  import streamlit as st
2
  import pandas as pd
3
  from utils.firebase_util import push_postquiz_data
 
4
 
5
  df = pd.read_csv("./LSATLR_questions.csv")
6
  df['qid'] = df['qid'].astype(int)
@@ -20,6 +21,7 @@ for index, row in postquiz_qs.iterrows():
20
  st.divider()
21
 
22
  def on_submit():
 
23
  corr = []
24
  for index, row in postquiz_qs.iterrows():
25
  correct_answer = row[row['Correct Ans.']]
@@ -29,7 +31,7 @@ def on_submit():
29
  corr.append(0)
30
  postquiz_qs['Correct'] = corr
31
  postquiz_qs.groupby('Subtopic').agg(num_correct=('Correct', 'sum'), num_questions=('Correct', 'count')).reset_index()
32
- push_postquiz_data(corr)
33
  st.switch_page("pages/postsurvey.py")
34
 
35
 
@@ -38,3 +40,6 @@ btn = st.button("Submit")
38
 
39
  if btn:
40
  on_submit()
 
 
 
 
1
  import streamlit as st
2
  import pandas as pd
3
  from utils.firebase_util import push_postquiz_data
4
+ import time
5
 
6
  df = pd.read_csv("./LSATLR_questions.csv")
7
  df['qid'] = df['qid'].astype(int)
 
21
  st.divider()
22
 
23
  def on_submit():
24
+ duration = time.time() - st.session_state.postquiz_start_time
25
  corr = []
26
  for index, row in postquiz_qs.iterrows():
27
  correct_answer = row[row['Correct Ans.']]
 
31
  corr.append(0)
32
  postquiz_qs['Correct'] = corr
33
  postquiz_qs.groupby('Subtopic').agg(num_correct=('Correct', 'sum'), num_questions=('Correct', 'count')).reset_index()
34
+ push_postquiz_data(corr, duration)
35
  st.switch_page("pages/postsurvey.py")
36
 
37
 
 
40
 
41
  if btn:
42
  on_submit()
43
+
44
+
45
+ st.session_state.postquiz_start_time = time.time()
pages/prequiz.py CHANGED
@@ -1,6 +1,7 @@
1
  import streamlit as st
2
  import pandas as pd
3
  from utils.firebase_util import push_prequiz_data
 
4
 
5
  df = pd.read_csv("./LSATLR_questions.csv")
6
  df['qid'] = df['qid'].astype(int)
@@ -20,6 +21,7 @@ for index, row in prequiz_qs.iterrows():
20
  st.divider()
21
 
22
  def on_submit():
 
23
  corr = []
24
  for index, row in prequiz_qs.iterrows():
25
  correct_answer = row[row['Correct Ans.']]
@@ -30,10 +32,12 @@ def on_submit():
30
  prequiz_qs['Correct'] = corr
31
  pqq_processed = prequiz_qs.groupby('Subtopic').agg(num_correct=('Correct', 'sum'), num_questions=('Correct', 'count')).reset_index()
32
  st.session_state.prequiz_df = pqq_processed
33
- push_prequiz_data(corr)
34
  if st.session_state.group_id == "A":
 
35
  st.switch_page("pages/llm_tutor.py")
36
  else:
 
37
  st.switch_page("pages/textbook.py")
38
 
39
 
@@ -42,3 +46,4 @@ btn = st.button("Submit")
42
  if btn:
43
  on_submit()
44
 
 
 
1
  import streamlit as st
2
  import pandas as pd
3
  from utils.firebase_util import push_prequiz_data
4
+ import time
5
 
6
  df = pd.read_csv("./LSATLR_questions.csv")
7
  df['qid'] = df['qid'].astype(int)
 
21
  st.divider()
22
 
23
  def on_submit():
24
+ duration = time.time() - st.session_state.prequiz_start_time
25
  corr = []
26
  for index, row in prequiz_qs.iterrows():
27
  correct_answer = row[row['Correct Ans.']]
 
32
  prequiz_qs['Correct'] = corr
33
  pqq_processed = prequiz_qs.groupby('Subtopic').agg(num_correct=('Correct', 'sum'), num_questions=('Correct', 'count')).reset_index()
34
  st.session_state.prequiz_df = pqq_processed
35
+ push_prequiz_data(corr, duration)
36
  if st.session_state.group_id == "A":
37
+ st.session_state.tutor_start_time = time.time()
38
  st.switch_page("pages/llm_tutor.py")
39
  else:
40
+ st.session_state.textbook_start_time = time.time()
41
  st.switch_page("pages/textbook.py")
42
 
43
 
 
46
  if btn:
47
  on_submit()
48
 
49
+ st.session_state.prequiz_start_time = time.time()
pages/textbook.py CHANGED
@@ -1,6 +1,8 @@
1
  import streamlit as st
2
  from utils.conceptexcerpts import concept_excerpts
3
  from utils.exampleexcerpts import example_excerpts
 
 
4
 
5
  st.set_page_config(page_title="LSAT Group B", page_icon="๐Ÿ“˜")
6
  st.title("๐Ÿ“˜Logical Reasoning: Group B")
@@ -29,6 +31,9 @@ if st.checkbox("Show Answer"):
29
  next_page = st.button("Click here when finished")
30
 
31
  if next_page:
 
 
 
32
  st.switch_page("pages/postquiz.py")
33
 
34
 
 
1
  import streamlit as st
2
  from utils.conceptexcerpts import concept_excerpts
3
  from utils.exampleexcerpts import example_excerpts
4
+ import time
5
+ from utils.firebase_util import push_study_time_data
6
 
7
  st.set_page_config(page_title="LSAT Group B", page_icon="๐Ÿ“˜")
8
  st.title("๐Ÿ“˜Logical Reasoning: Group B")
 
31
  next_page = st.button("Click here when finished")
32
 
33
  if next_page:
34
+ print(time.time())
35
+ print(st.session_state.textbook_start_time)
36
+ push_study_time_data(time.time() - st.session_state.textbook_start_time)
37
  st.switch_page("pages/postquiz.py")
38
 
39
 
utils/__pycache__/conceptexcerpts.cpython-311.pyc ADDED
Binary file (14 kB). View file
 
utils/__pycache__/exampleexcerpts.cpython-311.pyc ADDED
Binary file (18.8 kB). View file
 
utils/__pycache__/firebase_util.cpython-311.pyc ADDED
Binary file (3.6 kB). View file
 
utils/__pycache__/questions_dataset.cpython-311.pyc ADDED
Binary file (4.57 kB). View file
 
utils/firebase_util.py CHANGED
@@ -36,7 +36,7 @@ def push_postsurvey_data(q1, q2, q3, q4, q5, q6, q7, q8, q9):
36
  'q9': q9
37
  })
38
 
39
- def push_prequiz_data(prequiz_correct):
40
  ref = db.reference('prequiz')
41
  ref.push({
42
  'name': st.session_state.name,
@@ -51,9 +51,10 @@ def push_prequiz_data(prequiz_correct):
51
  'q8': prequiz_correct[7],
52
  'q9': prequiz_correct[8],
53
  'q10': prequiz_correct[9],
 
54
  })
55
 
56
- def push_postquiz_data(postquiz_correct):
57
  ref = db.reference('postquiz')
58
  ref.push({
59
  'name': st.session_state.name,
@@ -68,4 +69,13 @@ def push_postquiz_data(postquiz_correct):
68
  'q8': postquiz_correct[7],
69
  'q9': postquiz_correct[8],
70
  'q10': postquiz_correct[9],
 
 
 
 
 
 
 
 
 
71
  })
 
36
  'q9': q9
37
  })
38
 
39
+ def push_prequiz_data(prequiz_correct, duration):
40
  ref = db.reference('prequiz')
41
  ref.push({
42
  'name': st.session_state.name,
 
51
  'q8': prequiz_correct[7],
52
  'q9': prequiz_correct[8],
53
  'q10': prequiz_correct[9],
54
+ 'time': duration
55
  })
56
 
57
+ def push_postquiz_data(postquiz_correct, duration):
58
  ref = db.reference('postquiz')
59
  ref.push({
60
  'name': st.session_state.name,
 
69
  'q8': postquiz_correct[7],
70
  'q9': postquiz_correct[8],
71
  'q10': postquiz_correct[9],
72
+ 'time': duration
73
+ })
74
+
75
+ def push_study_time_data(duration):
76
+ ref = db.reference('study_time')
77
+ ref.push({
78
+ 'name': st.session_state.name,
79
+ 'group_id': st.session_state.group_id,
80
+ 'time': duration
81
  })