h4sci / h4sci-survey

R Shiny Based Simple Survey to Gather Status Quo
MIT License
0 stars 0 forks source link

draft survey for HS24 #1

Open minnaheim opened 3 months ago

minnaheim commented 3 months ago

Know your Audience:

  1. How much Programming Experience do you have? (Radio-Button) -> None, I dont know, less than 1 year, less than 2 years, >= 2 years, strategy to improve your programming 2.. What is your main programming language? (Radio-Button) image -> LaTeX, Julia, SAGE 3.. Additional programming languages? (MC) -> or both Q2 and 3 as list your own -> same as above
  2. Any programming tools and frameworks you work with (MC) -> quarto, git, typst, overleaf (?), Django, Chef, React, Angular, AWS, Docker, etc.
  3. What is your experience with Git (Version Control)? (Radio-Button) -> None, understand the basics (commit/push/pull/branches), use regularly to collaborate, git expert (incl. GitHub workflows, actions, etc.) 6.. What is your experience with improving your code? (MC) -> none, read/write documentation, collaboration on projects 7.. Do you automate your code? -> no, work with CI/CD, bash, apache airflow, etc.
  4. Do you work with virtual environments? -> no, yes, use docker a bit, pro.
  5. Do you know how to do web development -> no, have hosted websites, know how to make a simple website, (html), css & bootstrap pro
  6. What is your experience with project Management (give scrum explanation)? (Radio-Button) -> none, GitHub/githlab use, r know a bit about it (scrum), scrum expert
  7. What is your experience with data management? (Radio-Button) -> none, work with databases, know how to deal with access restrictions/persistent storage
  8. What is your experience with data communication? (Radio-Button) -> none, know how to visualise data, interactive online reports
  9. What is your experience in programming infrastructure? (Radio-Button) -> none, docker user, Kubernetes, etc.
  10. Which Integrated Development Environment (IDE) or software application do you use? (MC) -> Rstudio, VSCode, Pycharm, Anaconda, etc.
  11. Where did you learn to program? (MC) -> uni/courses, own time, (research) work, (applied) work
  12. What is your Background? (Radio-Button) -> if PhD, where?
  13. Anything else you want to say about your programming experience or your background? (text input)

Know their Needs:

  1. What are your programming needs when researching/working? (MC) -> cleaning, visualising, analysing data, web development, data management (SQL, etc.)
  2. Where do you struggle in programming? (MC) -> collaboration with team members, managing & working with data,
  3. Anything else you want to say about your expectations of the course? (text input)

Know their Expectations:

  1. What do you expect to learn more of in this (block) course? (MC) -> ...
  2. What do you expect of your group work? (MC) -> ...
  3. Anything else you want to say about your expectations of the course? (text input) -> ...
minnaheim commented 3 months ago

@mbannert, what do you think of this?

Revised changes

Know Your Audience

  1. How much programming experience do you have?
    (Radio-Button)

    • None (Skip to Part 2)
    • Less than 1 year
    • 1-2 years
    • More than 2 years
  2. What is your primary programming language?
    (Radio-Button)

    • Python
    • R
    • JavaScript
    • MATLAB
    • Julia
    • LaTeX
    • C/C++
    • Other (please specify) [Text Box]
  3. What additional programming languages do you use?
    (Checkbox Group)

    • Python
    • R
    • JavaScript
    • MATLAB
    • Julia
    • LaTeX
    • C/C++
    • Other (please specify) [Text Box]
  4. Which programming tools and frameworks do you use regularly?
    (Checkbox-Group)

    • Git/GitHub
    • Docker
    • AWS
    • Django
    • Flask
    • React
    • Angular
    • Overleaf
    • Quarto
    • Typst
    • Other (please specify) [Text Box] For Questions 5-13, some questions could be in the form for sliders
  5. What is your experience with Git (Version Control)?
    (Radio-Button)

    • None
    • Basic understanding (commit, push, pull, branches)
    • Regular use for collaboration
    • Advanced (GitHub workflows, actions, etc.)
  6. What is your experience with improving your code?
    (Checkbox-Group)

    • None
    • Reading/writing documentation
    • Code reviews
    • Refactoring code
    • Collaboration on open-source projects
  7. Do you automate your workflows or processes?
    (Radio-Button)

    • No
    • Some automation (CI/CD, Bash scripts)
    • Extensive automation (Apache Airflow, Jenkins, etc.)
  8. Do you work with virtual environments or containers?
    (Radio-Button)

    • No
    • Yes, basic usage (e.g., virtualenv, pipenv)
    • Yes, extensive usage (Docker, Kubernetes)
  9. What is your experience with web development?
    (Radio-Button)

    • None
    • Basic (HTML/CSS)
    • Intermediate (JavaScript, simple websites)
    • Advanced (CSS frameworks like Bootstrap, full-stack development)
  10. What is your experience with project management methodologies like Scrum?
    (Radio-Button)

    • None
    • Basic understanding (e.g., using GitHub/GitLab for project management)
    • Intermediate (some experience with Scrum, Kanban)
    • Advanced (Scrum master, leading projects)
  11. What is your experience with data management?
    (Radio-Button)

    • None
    • Basic (working with spreadsheets, simple databases)
    • Intermediate (SQL databases, data warehousing)
    • Advanced (managing large-scale databases, handling access restrictions, persistent storage)
  12. What is your experience with data communication?
    (Radio-Button)

    • None
    • Basic (static visualizations, charts)
    • Intermediate (interactive visualizations, dashboards)
    • Advanced (web-based data communication, real-time analytics)
  13. What is your experience with programming infrastructure?
    (Radio-Button)

    • None
    • Basic (simple Docker usage)
    • Intermediate (using Docker in projects)
    • Advanced (managing infrastructure with Kubernetes, Terraform)
  14. Which Integrated Development Environment (IDE) or software application do you use?
    (Checkbox-Group)

    • VSCode
    • PyCharm
    • RStudio
    • Jupyter
    • Anaconda
    • Sublime Text
    • Other (please specify) [Text Box]
  15. Where did you learn to program?
    (Checkbox-Group)

    • University courses
    • Online courses
    • Self-taught (books, tutorials)
    • On-the-job (research projects, applied work)
    • Other (please specify) [Text Box]
  16. What is your academic background?
    (Radio-Button)

    • Bachelor's Student
    • Master’s Student
    • PhD Candidate
    • Other (please specify) [Text Box]
  17. If you are a PhD student, where are you pursuing your PhD?
    (Text Input)

  18. Anything else you'd like to share about your programming experience or background?
    (Text Input)

Know Their Needs

  1. What are programming tasks you encounter when researching/working?
    (Checkbox-Group)

    • Data cleaning
    • Data visualization
    • Data analysis (statistical modeling, machine learning)
    • Web development
    • Data management (SQL, NoSQL databases)
    • Automating workflows
    • Collaboration on Coding Projects
    • Infrastructure
    • Other (please specify) [Text Box]
  2. Where do you face challenges in programming?
    (Checkbox-Group)

    • Collaboration with team members
    • Managing and working with data
    • Debugging and troubleshooting code
    • Understanding and applying algorithms
    • Scaling and optimizing code
    • Other (please specify) [Text Box]
  3. Anything else you want to share about your needs for the course?
    (Text Input)

Know Their Expectations

  1. What do you expect to learn from this course?
    (Checkbox-Group)

    • Improve Data cleaning, analytics and communication
    • Web development skills
    • Data management best practices
    • Automating workflows
    • Collaboration tools and techniques
    • Other (please specify) [Text Box]
  2. What do you expect from the group work in this course?
    (Checkbox-Group)

    • Collaboration on coding projects
    • Apply new skills from the course
    • deep-diving into my research topics
    • Other (please specify) [Text Box]
  3. Any additional expectations for the course?
    (Text Input)

mbannert commented 3 months ago
minnaheim commented 3 months ago

Latest Version:

Know Your Audience

  1. Put these programming languages in order acc. to your knowledge of them?
    (Rank list -> as seen in the sortable package)
    • Python
    • R
    • JavaScript
    • MATLAB
    • Julia
    • LaTeX
    • C/C++
    • Other (please specify) [Text Box]

Why: if many have R knowledge, know to focus less on the "R programming in Block 2 Session 1"

  1. Which programming infrastructure do you use?
    (Checkbox-Group)
    • None
    • Docker
    • AWS
    • Other (please specify) [Text Box]

Why: Determine focus of programming infrastructure in the course

  1. Which programming frameworks do you use? (Checkbox-Group)
    • None
    • Django
    • Flask
    • React
    • Angular
    • Other (please specify) [Text Box]

Why: Determine focus of programming frameworks in the course

  1. Which reporting/typesetting tools do you use? (Checkbox-Group)
    • None
    • Typst
    • Quarto
    • Overleaf
    • LaTeX
    • Other (please specify) [Text Box]

Why: Determine if typesetting tools should be touched upon, if yes, which?

  1. Which version control tools do you use? (Checkbox-Group)
    • None
    • Git
    • SVN
    • Mercurial
    • Other (please specify) [Text Box]

Why: Determine focus of git in course

  1. What is your experience with Version Control?
    (Slider)

    • None
    • Basic understanding (commit, push, pull, branches)
    • Regular use for collaboration
    • Advanced (GitHub workflows, actions, etc.)
  2. What is your experience with improving your code?
    (Slider)

    • None
    • Reading/writing documentation
    • Code reviews
    • Refactoring code
    • Collaboration on open-source projects
  3. Do you automate your workflows or processes?
    (Slider)

    • No
    • Some automation (CI/CD, Bash scripts)
    • Extensive automation (Apache Airflow, Jenkins, etc.)
  4. Do you work with virtual environments or containers?
    (Slider)

    • No
    • Yes, basic usage (e.g., virtualenv, pipenv)
    • Yes, extensive usage (Docker, Kubernetes)

Why: should this be topic in course?

  1. What is your experience with web development?
    (Slider)
    • None
    • Basic (HTML/CSS)
    • Intermediate (JavaScript, simple websites)
    • Advanced (CSS frameworks like Bootstrap, full-stack development)

Why: should this be topic in course?

  1. What is your experience with project management methodologies like Scrum?
    (Slider)
    • None
    • Basic understanding (e.g., using GitHub/GitLab for project management)
    • Intermediate (some experience with Scrum, Kanban)
    • Advanced (Scrum master, leading projects)

Why: should this be topic in course?

  1. What is your experience with data management?
    (Slider)
    • None
    • Basic (working with spreadsheets, simple databases)
    • Intermediate (SQL databases, data warehousing)
    • Advanced (managing large-scale databases, handling access restrictions, persistent storage)

Why: should this be topic in course?

  1. What is your experience with data communication?
    (Slider)
    • None
    • Basic (static visualizations, charts)
    • Intermediate (interactive visualizations, dashboards)
    • Advanced (web-based data communication, real-time analytics)

Why: should this be topic in course?

  1. What is your experience with programming infrastructure?
    (Slider)
    • None
    • Basic (simple Docker usage)
    • Intermediate (using Docker in projects)
    • Advanced (managing infrastructure with Kubernetes, Terraform)

Why: should this be topic in course?

  1. Which Integrated Development Environment (IDE) or software application do you use?
    (Checkbox-Group)
    • VSCode
    • PyCharm
    • RStudio
    • Jupyter
    • Anaconda
    • Sublime Text
    • Other (please specify) [Text Box]

Why: maybe make comparison about which is good for what? vscode (git, debugging), rstudio (shiny), etc.

  1. Where did you learn to program?
    (Checkbox-Group)
    • University courses
    • Online courses
    • Self-taught (books, tutorials)
    • On-the-job (research projects, applied work)
    • Other (please specify) [Text Box]

Why: determine type of teaching best used - work on their own, discussions, exercises, etc.

  1. Anything else you'd like to share about your programming experience or background?
    (Text Input)

Know Their Needs

  1. Why did you take this course? (Checkbox-Group)
    • to improve coding skills
    • to practice collaboration on coding
    • Other (Text Input)

Why: determine focus - more content, or more time and guidance for group work?

  1. What are programming tasks you encounter when researching/working?
    (Checkbox-Group)
    • Data cleaning
    • Data visualization
    • Data analysis (statistical modeling, machine learning)
    • Web development
    • Data management (SQL, NoSQL databases)
    • Automating workflows
    • Collaboration on Coding Projects
    • Infrastructure
    • Other (please specify) [Text Box]

Why: what is their starting point, where to expand

  1. Where do you face challenges in programming?
    (Checkbox-Group)
    • Collaboration with team members
    • Managing and working with data
    • Debugging and troubleshooting code
    • Understanding and applying algorithms
    • Scaling and optimizing code
    • Other (please specify) [Text Box]

Why: what to focus on in course

  1. Anything else you want to share about your needs for the course?
    (Text Input)

Know Their Expectations

  1. What do you expect to learn from this course?
    (Checkbox-Group)
    • Improve Data cleaning, analytics and communication
    • Web development skills
    • Data management best practices
    • Automating workflows
    • Collaboration tools and techniques
    • Other (please specify) [Text Box]

Why: determine "hot-topics" to focus on

  1. What do you expect from the group work in this course?
    (Checkbox-Group)
    • Collaboration on coding projects
    • Apply new skills from the course
    • deep-diving into my research topics
    • Other (please specify) [Text Box]

Why: encourage students to align their groups based on this?

  1. Any additional expectations for the course?
    (Text Input)
minnaheim commented 3 months ago

@mbannert I was thinking, to reduce the size of the questionnaire we should either combine the questions about which tools people use, or just leave the former out, and just ask about expertise? E.G. Q.7 and Q.8 are which version control tools do you use, and what is your experience with them (none-expert)

minnaheim commented 2 months ago

Final Version:

Know Your Audience

Ice Breaker - to know for Block 1

  1. Imagine you have to explain the following concepts to your peers. Indicate which you feel comfortable to give a basic explanation (multiple may apply) -> check-box

    • Python
    • R
    • Version Control (Git)
    • IDEs
    • HTML/CSS
    • JS
    • etc.
  2. Reporting - level of expertise

    • LaTeX
    • Typst
    • use old question

Block 2:

  1. Please indicate your level of expertise in the following languages: (lickert) - blooms taxonomy

  2. -> based on Data Management Chapter (are you familiar with these concepts 6.1-6.4)

  3. longtitude data, time series, etc...

Block 3:

-> check book -> infrastructure

Block 4: course expectations

Raffle participation... (yes/no) display session id, save & announce winning session id...

  1. Put these programming languages in order acc. to your knowledge of them?
    (Rank list -> as seen in the sortable package)
    • Python
    • R
    • JavaScript
    • MATLAB
    • Julia
    • LaTeX
    • C/C++
    • Other (please specify) [Text Box]

Why: if many have R knowledge, know to focus less on the "R programming in Block 2 Session 1"

  1. Which programming infrastructure do you use?
    (Checkbox-Group)
    • None
    • Docker
    • AWS
    • Other (please specify) [Text Box]

Why: Determine focus of programming infrastructure in the course

  1. Which programming frameworks do you use? (Checkbox-Group)
    • None
    • Django
    • Flask
    • React
    • Angular
    • Other (please specify) [Text Box]

Why: Determine focus of programming frameworks in the course

  1. Which reporting/typesetting tools do you use? (Checkbox-Group)
    • None
    • Typst
    • Quarto
    • Overleaf
    • LaTeX
    • Other (please specify) [Text Box]

Why: Determine if typesetting tools should be touched upon, if yes, which?

  1. Which version control tools do you use? (Checkbox-Group)
    • None
    • Git
    • SVN
    • Mercurial
    • Other (please specify) [Text Box]

Why: Determine focus of git in course

  1. What is your experience with Version Control?
    (Slider)

    • None
    • Basic understanding (commit, push, pull, branches)
    • Regular use for collaboration
    • Advanced (GitHub workflows, actions, etc.)
  2. What is your experience with improving your code?
    (Slider)

    • None
    • Reading/writing documentation
    • Code reviews
    • Refactoring code
    • Collaboration on open-source projects
  3. Do you automate your workflows or processes?
    (Slider)

    • No
    • Some automation (CI/CD, Bash scripts)
    • Extensive automation (Apache Airflow, Jenkins, etc.)
  4. Do you work with virtual environments or containers?
    (Slider)

    • No
    • Yes, basic usage (e.g., virtualenv, pipenv)
    • Yes, extensive usage (Docker, Kubernetes)

Why: should this be topic in course?

  1. What is your experience with web development?
    (Slider)
    • None
    • Basic (HTML/CSS)
    • Intermediate (JavaScript, simple websites)
    • Advanced (CSS frameworks like Bootstrap, full-stack development)

Why: should this be topic in course?

  1. What is your experience with project management methodologies like Scrum?
    (Slider)
    • None
    • Basic understanding (e.g., using GitHub/GitLab for project management)
    • Intermediate (some experience with Scrum, Kanban)
    • Advanced (Scrum master, leading projects)

Why: should this be topic in course?

  1. What is your experience with data management?
    (Slider)
    • None
    • Basic (working with spreadsheets, simple databases)
    • Intermediate (SQL databases, data warehousing)
    • Advanced (managing large-scale databases, handling access restrictions, persistent storage)

Why: should this be topic in course?

  1. What is your experience with data communication?
    (Slider)
    • None
    • Basic (static visualizations, charts)
    • Intermediate (interactive visualizations, dashboards)
    • Advanced (web-based data communication, real-time analytics)

Why: should this be topic in course?

  1. What is your experience with programming infrastructure?
    (Slider)
    • None
    • Basic (simple Docker usage)
    • Intermediate (using Docker in projects)
    • Advanced (managing infrastructure with Kubernetes, Terraform)

Why: should this be topic in course?

  1. Which Integrated Development Environment (IDE) or software application do you use?
    (Checkbox-Group)
    • VSCode
    • PyCharm
    • RStudio
    • Jupyter
    • Anaconda
    • Sublime Text
    • Other (please specify) [Text Box]

Why: maybe make comparison about which is good for what? vscode (git, debugging), rstudio (shiny), etc.

  1. Where did you learn to program?
    (Checkbox-Group)
    • University courses
    • Online courses
    • Self-taught (books, tutorials)
    • On-the-job (research projects, applied work)
    • Other (please specify) [Text Box]

Why: determine type of teaching best used - work on their own, discussions, exercises, etc.

  1. Anything else you'd like to share about your programming experience or background?
    (Text Input)

Know Their Needs

  1. Why did you take this course? (Checkbox-Group)
    • to improve coding skills
    • to practice collaboration on coding
    • Other (Text Input)

Why: determine focus - more content, or more time and guidance for group work?

  1. What are programming tasks you encounter when researching/working?
    (Checkbox-Group)
    • Data cleaning
    • Data visualization
    • Data analysis (statistical modeling, machine learning)
    • Web development
    • Data management (SQL, NoSQL databases)
    • Automating workflows
    • Collaboration on Coding Projects
    • Infrastructure
    • Other (please specify) [Text Box]

Why: what is their starting point, where to expand

  1. Where do you face challenges in programming?
    (Checkbox-Group)
    • Collaboration with team members
    • Managing and working with data
    • Debugging and troubleshooting code
    • Understanding and applying algorithms
    • Scaling and optimizing code
    • Other (please specify) [Text Box]

Why: what to focus on in course

  1. Anything else you want to share about your needs for the course?
    (Text Input)

Know Their Expectations

  1. What do you expect to learn from this course?
    (Checkbox-Group)
    • Improve Data cleaning, analytics and communication
    • Web development skills
    • Data management best practices
    • Automating workflows
    • Collaboration tools and techniques
    • Other (please specify) [Text Box]

Why: determine "hot-topics" to focus on

  1. What do you expect from the group work in this course?
    (Checkbox-Group)
    • Collaboration on coding projects
    • Apply new skills from the course
    • deep-diving into my research topics
    • Other (please specify) [Text Box]

Why: encourage students to align their groups based on this?

  1. Any additional expectations for the course?
    (Text Input)