Interdisciplinary degree programmes often include computer programming lessons in which students are expected to acquire skills in using Command Line Interfaces (CLIs)- interfaces in which the user is expected to type written instructions- to write scripts using language-specific commands, commonly known as coding. Social science students who take coding classes face several challenges, such as difficulty in getting accustomed to CLIs and inability to cope up with incremental knowledge. This can lead to frustration among students. Moreover, differences in skill acquisition is a challenge from the instructors’ point-of-view as it can affect the overall progress and effectiveness of the lesson. In this paper, I discuss these issues, and develop a three-step strategy to address them. Based of the constructivist learning approach and the notion of Communities of Practice, I suggest that, in addition to setting minimum threshold skill levels and using peer-learning sessions, extending classroom activities to online Question and Answer (Q&A) platforms (e.g, Stackoverflow) can not only help students to fix errors in their code but also to establish themselves in a community of professionals.
Interdisciplinary degree programmes, such as digital media degrees, often include technical as well as theoretical aspects of knowledge that demand a broad range of skills from students. This is particularly the case with modules that include practice-oriented learning outcomes, such as the ability to display skills in using web coding or programming languages (e.g., Hyper Text Markup Language- HTML, Cascading Style Sheets- CSS, Python, and R). Coding classes in interdisciplinary degree programmes can be challenging for students who are not familiar with CLIs. Differences in skill levels can also pose challenges for instructors. Social science students who struggle in coding classes often seek assistance from instructors and/or teaching assistants during laboratory sessions or using e-mails. Individual support during lessons can affect the overall progress of the lesson. Moreover, providing support using email to fix coding errors is less effective, as coding is an iterative process that requires running different commands until the problem is solved. I suggest that online question and answer (Q&A) platforms, such as Stackoverflow (https://stackoverflow.com/), can be used to extend coding lessons to a virtual community context that can enable seamless interaction between instructors, teaching assistants, students, as well as other members of the platform who are interested in solving similar technical issues. This approach promotes ‘thinking together’ (Pyrko, Dörfler, & Eden, 2017), provides a sense of community and belonging (Ardichvili, 2008; Tsai, Laffey, & Hanuscin, 2010), and helps learn through trial and error (Thomas, 2005). Not only does this provide a practice-based community context for students to solve problems, it also helps them to acquire collective problem solving skills that are necessary for their professional development.
In this paper, I will discuss the utility of Stackoverflow in teaching HTML and CSS to social science students. This discussion will benefit my teaching activities in the BA in Digital Media programme at Middlesex University since I discuss this topic in the context of the DME 1002 (Social Media and the World Wide Web) module that I currently lead at Middlesex. This paper includes three sections. The first section discusses the problem in detail. In the second section, I will discuss elements of Stackoveflow and how the platform can benefit coding education. In the third section, I will develop a strategy to integrate Stackoverflow to modules that include a coding component.
 The UK Professional Standards Framework (Higher Education Academy, 2011) outlines three dimensions (Areas of Activity, Core Knowledge, and Professional Values). I will map the teaching practices and strategies that I discuss in this paper against the specific guidelines in these three dimensions (Areas of Activity- from A1 to A5, Core Knowledge- from K1 to K6, and Professional Values- from V1 to V6).
Teaching Context and the Problem
Interdisciplinary approach to teaching and learning, or “integration of knowledge from multiple disciplines in pursuit of an outcome that is not possible from a single disciplinary approach” (Holley, 2017) is becoming increasingly popular. Interdisciplinary education requires interacting with knowledge from different disciplines, and this pedagogical approach aligns with integrative learning that involves connecting knowledge and skills from multiple sources as well as practical application of theory in a range of settings (Holley, 2017). Many academic disciplines have embraced interdisciplinary, especially by integrating knowledge in Information and Communication Technologies (ICT) into their curricular. This is particularly the case with media studies. A new wave of media studies has introduced degree programmes that have integrated elements of ICT into their curricular, allowing media students to acquire a range of skills that can help them to extend media practice into Internet-based platforms. This poses a number of challenges to both teachers and students.
- Difficulty in Using CLIs
Students in humanities and social sciences often use software with GUIs, commonly known as point-and-click interfaces. For instance, media students often use media design software such as Adobe InDesign, Adobe Photoshop, Autodesk Maya, Houdini FX that provide visible options for media design. Starting from general software like MS Word, GUIs are more popular as they do not require written commands. Software with CLIs, on the other hand, require skills in writing accurate scripts, commonly known as coding. While students who specialize in fields represent the core discipline of computing, such as computer science, software engineering, and information science, are accustomed to use CLIs, many social science students struggle when they are introduced to CLIs. Therefore, many instructors in interdisciplinary ICT classrooms face the challenge of understanding each students progress in acquiring the ability to use CLIs.
- Inability to Cope Up with Incremental Knowledge
Learning how to code is an incremental process as the students need to build their knowledge gradually. Regular attendance and keeping attention on the lesson is crucial as the students often require commands learned in previous sessions to learn or apply new commands. For example, students need to learn how to create a list using HTML before they apply CSS to convert the list into a navigation menu on a web page. It is quite common that those who miss lessons, come to the class late, or get distracted often need assistance to understand coding lessons. This results in students asking for individual support during the lessons, increased frustration, or even giving up their attempt to write functioning scripts.
- Differences in Skill Acquisition
A third problem related to the above A and B is that, due to difficulties in getting accustomed to CLIs and making gradual progress, interdisciplinary coding classes often have a mix of students with different speeds of skill acquisition. This issue gets exacerbated if computer laboratories are structured in a way that affects students’ attention on the instructor. Therefore, instructors often have to help those who struggle to understand techniques learned in previous classes. This has also resulted in overdependence on the instructors and other teaching staff. This is time consuming, and it also can result in frustration among students who put high effort or had coding lessons previously.
The above three problematic dimensions directly relate to several aspects in the UKPSF. First, instructors need to teach and support learning (A2) and respect individual learners (V1). However, excessive individual support during laboratory sessions affects the overall progress of the lesson although it helps students that need more guidance. Instructors are required to plan lessons and classroom sessions (A1). However, given the wide range of skill levels that instructors have to adapt to, implementation of lesson plans can be challenging. From an overall perspective, this affects how students learn, the third element in the Core Knowledge dimension of UKPSF (K3).
3 Strategy Development: Constructivism and Communities of Practice as Conceptual Foundations
In this section, I will develop a strategy to address the above issues. This strategy involves providing guidance for students to reach a minimum threshold of skills and extend the classroom into a community of practice context that can help not only with fixing coding errors but also with professional tactics in the field. The suggested strategy, I argue, can benefit from two theoretical approaches: 1) constructivism, and 2) Communities of Practice (CoP).
The constructivist approach views learning as an individual experience in which individual learners construct meaning (Sullivan, n.d.). Sullivan notes that learners may develop different conclusions even though they have the same experience or exposure to an event or a concept. Several scholars have stressed the importance of constructivist thinking in STEM (Science, Technology, Engineering, and Mathematics) disciplines. Clements and Battista (1990), for example, argue that, as opposed to the conventional teaching approach that values established bundles of knowledge, constructivist instruction can help students to develop personal mathematical ideas. They argue that this approach does not encourage students to adopt someone else’s thinking although the teacher presents tasks related to sophisticated techniques. Kocadere and Ozgen (2012) also argue that the constructivist approach can benefit design education as evidenced by a ‘constructivist Basic Design class’ that encouraged of new ways of thinking, creativity, and the importance of finding new solutions to different design problems.
Constructivist approach is of immense importance when developing a strategy to address the issues discussed in the previous section. Computer programming, as mentioned previously, is an iterative process. Although there are common practices, every programmer develops his/own ways of coding, and detecting and correcting errors. Arguably, conventional teacher-centred lectures can less effective in teaching computer programming. As students make progress, they encounter tasks that require logical thinking (e.g., writing functions using Python programming language) that needs a learning environment that inspires independent thinking and development. While a common set of principles should be provided to the students to ensure that core content is delivered, constructivist approach is a more effective approach for teaching computer programming.
Communities of Practice are “groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly”(Wenger & Trayner-Wenger, 2015, p.1). According to Wenger and Trayner-Wenger, CoPs are characterized by a shared domain of interest, active membership, and practice with shared repertoire of resources, such as tools, stories, experiences, and ways of addressing problems. According to Pyrko et al. (2017), the process of ‘thinking together’ can be identified as a key characteristic of CoPs. As the CoPs are primarily defined by the interaction among members, online platforms, such as Social Network Sites (SNS) can help members to sustain CoPs. Lewis, Koston, Quartley, and Adsit (2010), for instance, note that Web 2.0 tools have potential to improve collaboration and promote information exchange that can help promote CoPs. Similarly, Byington (2011) highlights that blogs can serve as platforms for interaction among members of CoPs. The online CoP perspective has been applied in educational settings in different contexts, such as music education (Fitzpatrick, 2014) and elementary science classes (Tsai et al., 2010).
I suggest that online Q&A platforms, like Stackoverflow, can serve as effective teaching tools that can help create learning environments that blend constructivist and CoP approaches. This is consistent with the A1, A2, A4, K1, K2, and K4 elements of UKPSF. In the following section, I will discuss three steps that can help develop such an extended classroom experience.
4 Specific Tactics for Improving Effectiveness of Coding Lessons
The issues that coding instructors face (difficulty in Using CLIs, inability to cope up with incremental knowledge, differences in skill acquisition) can be addressed by ensuring that all the students acquire a minimum required level of expertise, proving extra challenges, as well as signposting students towards communities of professionals who use programming languages and function as CoPs. This will not only allow students to interact with a group of professional in their future fields of employment, but also help them learn common practices in the industry.
- Step 1: Establishment of Minimum Threshold Levels
Instruction-based sessions should be used in the beginning of coding modules/lessons to ensure that every student is equipped with basic techniques that help them to move toward more advanced, and independent, activities. Table 1 provides several learning outcomes that can be used to establish minimum threshold levels in HTML/CSS classes.
Table 1: Learning Outcomes for an Introduction to the CSS ID Selector Lesson
|HTML||Upon successful completion of this lesson, you should be able to perform the following tasks:
1) demonstrate ability to use the div tag to define divisions/sections in HTML documents
2) demonstrate the ability to assign IDs to ‘divs’ in HTML pages
|CSS||Upon successful completion of this lesson, you should be able to demonstrate the following:
1) demonstrate the ability to use the CSS ID selector to select divisions/sections (defined using the HTML div tag) within HTML pages
2) demonstrate the ability to apply at least three style changes (e.g., height, background colour, margins) using CSS internal styling
The above minimum level will provide a clear idea for each student on what they should accomplish in the lesson. Setting clear goals in terms of learning outcomes is important as it marks boundaries for the lesson. This can be achieved by developing a formative assessment in which the students are required to demonstrate the ability to reach the minimum threshold levels. Moreover, it is important that the instructor demonstrates these techniques and provide step-by-step instructions for students to follow the lesson. This is consistent with the A1 criterion of the UKPSF.
- Step 2: Student-Centred Practice Sessions
The more formal first section discussed above should be followed by a peer-learning session in which the students observe each other’s work, understand difficult areas/techniques, and help each other to correct errors in their scripts. Error detection and correction is a crucial aspect of coding, and these peer-learning sessions are important as they provide opportunity for students to read the codes writing by their colleagues and detect and correct errors. Not only this will reduce the burden on the instructor, this will also help students to familiarize themselves with collaborative coding, which is a highly popular practice in the industry. For instance, popular specialist platforms, such as GitHub (www.github.com) promote collaboration among programmers. These practice sessions are consistent with A4 and K3 criteria of the UKPSF. Arguably, these peer learning sessions promote constructivist learning since students experiment with the programming language and find their own ways of problem solving.
- Step 3: Stackoverflow
In the third step, student should be encouraged to ask their questions on online Q&A platforms, such as Stackoverflow and maintain their presence in those online communities. This can be started as a classroom exercise in which every student creates a Stackoverflow profile. The students should be asked to keep a log of challenges they face that can help formulate questions that are appropriate for posting. The instructor should demonstrate how to use Stackoverflow as part of the lecture. This demonstration should include several components: 1) how to post questions on Stackoverflow (e.g., how to post reproducible code, how to phrase the questions, and tagging), 2) how to answer and rate questions and answers, and 3) general etiquette (e.g., langue conventions).
This approach offers several benefits to the students. First, this will help them develop the habit of independent learning which is a core characteristic of a successful programmer. Second, online activity will extend the learning beyond the classroom as online interaction on sites like Stackoverflow is not limited to specific time frames. This will also help students to continue their practice after the lesson. Third, the students will be able to see how the professional solve similar problems. This is important as it can increase levels of confidence. Stackoverflow is currently the largest online community on programmers. According to the website (https://stackoverflow.com/company), the platform gets more than 50 million visitors per month and its average membership consists of 51000 developers. The website also highlights that more than 19 million answers have been given to almost 14 million questions asked on the platform. The platform is open for anyone interested in asking and/or answering questions related to computer programming.
The learning outcomes given below focus on basic HTML and CSS commands that can be used to structure and style a basic HTML page. Although this is simple exercise, this can lead to several questions that students may bring to the instructors. For example, some students may notice that their web pages have unnecessary white borders. My students have faced this problem often, and many students requested me to show them how to fix this issue individually. However, this is a question that the Stackoverflow community has already answered.
 Teach and/or support learning
 Respect individual learners and diverse learning communities
 Design and plan learning activities and/or programmes of study
 K3- How students learn, both generally and within their subject/ disciplinary area(s)
Asking questions of this nature on online platforms and getting solutions online will provide a sense of independence and achievement for students as they become less instructor dependent through this practice. Moreover, they learn several ‘soft skills’ that are useful for programmers. For example, the students will learn how to post reproducible code as part of their questions on online platforms. This is a useful professional skill. The Stackoverflow community provide guidelines on how to post reproducible code for newcomers. Long-term engagement on Stackoverflow will also help students to develop the ability to identify good practices as the platform members constantly rank/assess the questions and answers. For example the answer above (Figure 3b) has received 11 points (this rank may increase or decrease when users click the up or down arrow button on the left side of the question). The use of Stackoverflow as a teaching tool is consistent with the UKPSF Core Knowledge element related to the use and value of appropriate learning technologies (K4).
- Evaluation of Effectiveness
Evaluation of the effectiveness of the above interventions will be done in three steps: 1) assessment of formative coding exercises, 2) individual and group feedback, and 3) observation of individual engagement on Stackoverflow. These measures correspond with the steps suggested in the subtopics A, B, and C above. Students’ ability to reach the minimum threshold levels suggested above can be assessed by examining HTML/CSS documents submitted as part of a formative assessment. Functionality and clarity of code will be examined in this step to determine the progress made by each student in terms of applying HTML and CSS commands. In the second step, individual and group discussions will be used to identify the issues and challenges students face in coding lessons. These discussions should be held after at least four lectures/laboratory sessions as students need significant time to familiarize themselves with CLIs. In the third step, individual engagement on Stackoverflow will be assessed. Stackoverflow offers a range of criteria to assess the individual engagement both on the user as well as individual level. For instance, users will earn badges as they ask questions and contribute to the community by answering and rating questions. Moreover, Stackoverflow offers a number of simple metrics (e.g., reputation score, number of questions asked and answers provided, community rating for each question, and the impact made by each student). For students that have intermediate-level skills in coding, reaching established levels of engagement should be set as a minimum requirement (e.g, reaching an impact score of 200, asking at least five questions).
In this paper, I addressed the challenges faced by both students and instructors in interdisciplinary computer programming classes. The three-step strategy suggested here blends elements of constructivist teaching and Communities of Practice to enhance effectiveness of coding lessons. The steps suggested here demands independent effort, and therefore, the success of these steps depends on the extent to which students are willing to participate in peer-learning exercise and online communities.
Ardichvili, A. (2008). Learning and knowledge sharing in virtual communities of practice: Motivators, barriers, and enablers. Advances in Developing Human Resources, 10(4), 541–554. https://doi.org/10.1177/1523422308319536
Byington, T. A. (2011). Communities of Practice: Using Blogs to Increase Collaboration. Intervention in School and Clinic, 46(5), 280–291. https://doi.org/10.1177/1053451210395384
Clements, D. H., & Battista, M. T. (1990). Constructivist learning and teaching. The Arithmetic Teacher, 38(1), 34–35.
Fitzpatrick, K. R. (2014). Blogging through the music student teaching experience: Developing virtual communities of practice. Research Studies in Music Education, 36(1), 91–105. https://doi.org/10.1177/1321103X13509350
Higher Education Academy. (2011). The UK Professional Standards Framework for teaching and supporting learning in higher education. The UK Professional Standards Framework. https://doi.org/10.1017/CBO9781107415324.004
Holley, K. (2017). Interdisciplinary curriculum and learning in higher education. https://doi.org/10.1093/acrefore/9780190264093.013.138
Kocadere, S. A., & Ozgen, D. (2012). Assessment of basic design course in terms of constructivist learning theory. Procedia – Social and Behavioral Sciences, 51, 115–119. https://doi.org/10.1016/j.sbspro.2012.08.128
Lewis, L. A. lalewis buffalo edu, Koston, Z., Quartley, M., & Adsit, J. (2010). Virtual Communities of Practice: Bridging research and practice using Web 2.0. Journal of Educational Technology Systems, 39(2), 155–161. https://doi.org/10.2190/ET.39.2.e
Pyrko, I., Dörfler, V., & Eden, C. (2017). Thinking together: What makes Communities of Practice work? Human Relations, 70(4), 389–409. https://doi.org/10.1177/0018726716661040
Sullivan, L. E. (n.d.). Constructivist learning theory. In The Sage Glossary of the Social and Behavioral Sciences.
Thomas, A. (2005). Children online: Learning in a virtual community of practice. E-Learning and Digital Media, 2(1), 27–38. https://doi.org/10.2304/elea.2005.2.1.3
Tsai, I.-C., Laffey, J. M., & Hanuscin, D. (2010). Effectiveness of an online community of practice for learning to teach elementary science. Journal of Educational Computing Research, 43(2), 225–258. https://doi.org/10.2190/EC.43.2.e
Wenger, E., & Trayner-Wenger, B. (2015). Communities of practice: A brief introduction. https://doi.org/10.2277/0521663636
https://stackoverflow.com/company Accessed on January 20, 2017.
Feedback is an essential element of the teaching process. If teaching is considered a cycle in which you deliver a lesson, students attend your lesson, apply what they learned, feedback is step that shows you the results of your teaching effort. On one hand, feedback completes the cycle by making your students aware of how you, as a teacher, assess the outcome of learning. On the other hand, feedback provides you an instance for reflect on the effectiveness of your teaching. This means that providing feedback is equally valuable for teachers and students.
Providing feedback is not an easy task. You need to consider many factors when approaching feedback. I discuss four factors below, reflecting on my own teaching experience:
The time factor
The workload is a crucial factor that affects the nature and extent of feedback. If you are employed in a teaching-intensive academic institution, you may be teaching several classes in a semester. You may also have large classes with more than 100 students, sometimes the number of students can be as high as 300. Providing timely feedback for large classes takes a lot of your time. This can be a challenge, as you are working on your lessons, supervising other projects, and have a list of meetings to attend. As a strategy to standardize the feedback process and save my time, I use a grading rubric, a template that has ready-made feedback categories (e.g,. an excellent project report includes a minimum number of references, makes critical arguments, uses clear and scholarly language). Once you write down those categories, providing feedback is a matter of reading your students’ projects and selecting the appropriate feedback category for each project. This, although saves your time, may not be the best approach in terms of individual (and customized) feedback your students receive. From my experience, some students, those who work hard on their assignments in particular, love to have detailed and specific feedback. On the other hand, those students who struggle, may appreciate detailed and individual feedback. However, standardizing feedback provides an objective basis to evaluate assignments. If you are teaching relatively small classes, I think that spending time on each project helps improve your teaching effectiveness.
The critical factor
If you are in a position to spend considerable time for each project, providing detailed feedback is very important. Language is perhaps the most important factor that affects the effectiveness of teaching. One thing I always keep in my mind when evaluating student work is that most of the students put good effort on their projects. As the assessor, you will be reading all the projects turned in by your students. However, for each student, it is their only (if not a few) project for the class. I believe wholeheartedly that, regardless of the quality, you need to respect the effort each student’s effort in writing the assignment. You need to be critical, but in a nice way. Non-offensive, and constructive, language can help students to understand strengths and weaknesses of their projects. I use what a good friend of mine calls the “sandwich” approach where I start my feedback with a positive statement recognizing good aspects of the assignment. I would then move to a more critical tone and discuss the weaknesses. Finally, I make suggestions on how the work can be improved. This approach has worked, and some students have told me that the feedback is positive, critical, and useful. However, being positive and critical at the same time can be challenging. This is where proper use of language matter.
Treating every student equally is another important factor to keep in mind in the feedback process. Your feedback should be similar in terms of the tone of the language, length (although this can vary, huge differences in length may make some students think that you are not paying enough attention on their work), and structure. Reading a well-written essay written by a student is fun. On the other hand, a weakly written essay, or signs of carelessness, may make be disappointing. However, I think that it is necessary that you keep your objectivity towards every assignment regardless of how happy or upset you feel while you are assessing them.
Creating an app is one of the most important steps in scraping data using R packages like twitteR. You need the following key information to create the connection to Twitter API using R.
- Consumer key
- Consumer secret
- Access token
- Access token secret
Creating a Twitter app can be confusing if you’re a beginner to R. You can follow the steps below to create a Twitter app and get the above information.
Step 1: Go to https://apps.twitter.com/
Step 2: Enter the details (e.g., name for your app, description, a website url (where users can access your app).
Step 3: Create the app and obtain keys and access tokens.
If you follow the above steps correctly. You’ll receive the following message confirming that the app has been created. You can access your keys and access token after this.
Once you create the app successfully, you can see that a new app has been added to your Twitter apps. You can see this in your Twitter settings.
Lesson planning is an important step in the teaching process. A well-planned lesson or a lecture can keep students’ interest and help achieve the objectives of the teaching activity. You may be a natural ‘planner’ in teaching, i.e. you may plan your lessons carefully, breaking down the lesson into several sections and using specific strategies in each section without developing a specific lesson plan. However, a specific lesson plan helps you to carefully design your lesson, especially if you’re an early career academic trying to find the best combination of teaching tactics for you.
The following is a lesson plan prepared for a 90-minute lecture for an introduction to social media for undergraduate students in their first years.
|1||5 minutes||Warm-up||Warm-up Questions
The teacher asks several simple questions (e.g., Please raise your hands if you use social media, What is your favorite social media platform? Why do you like the platform? When was the last time you used social media)?
|2||10 minutes||Introduce the definitions||Lecture
Teacher discusses the objectives of the lesson. Several definitions of social media are introduced to the class.
|3||15 minutes||Discuss the history of social media||Group Activity
Students are put in groups of five and asked to develop a timeline that shows the development of social media platforms. Students are asked to use their laptops/celll phones to find information from the Internet. Then the groups are asked to share their timelines with the class and discuss what is missing in each timeline
|4||15 minutes||Introduce main theoretical perspectives in the field||Lecture
The teacher spends 15 minutes to discuss several key theoretical perspectives in the field of social media studies. Names of the main scholars in the field are introduced, and the nature of the scholarly debate is described
|5||20 minutes||Discuss the main reading||Group Activity and Class Discussion
|6||20 minutes||To critically examine the impact of social media platforms in society||Video/Documentary
A 15-minute documentary/short video will be played by the instructor. The class is then asked to share their views on the documentary.
|7||5 minutes||Summarize the key points||Lecture
The instructor reminds the objective of the session, and summarizes the lessons learned
You can see that the above lesson plan includes seven sections, with each section not longer than 20 minutes. The plan also uses several teaching tactics, such as short conventional lecture-type descriptions, group discussions, group activities, as a well as a video that the class watches together. this combination of different modes of teaching breaks the monotony and keeps the student engaged. If you have a heavy teaching load, preparing plans for each lesson might look too much work. However, careful lesson planning can greatly enhance the quality of your teaching.
Regression is a very popular statistical technique. In this post, I’ll show you how to plot regression effects using the R ‘effects’ library (https://cran.r-project.org/web/packages/effects/effects.pdf). This library provides a set of easy-to-write commands to visualize the effects of each variable in your regression model. The visualizations provide easy-to-understand plots that are very helpful when you interpret your model.
Here’s a simple R script for a logistic regression model plotted using the R effects library.
logit1 <- glm(Hashtag ~ COMSTRS+COMCOP+ADVSS+BOUND+IDENT+GRPCOM+INFODIS, data = data, family = “binomial”)
Here’re the results:
glm(formula = Hashtag ~ COMSTRS + COMCOP + ADVSS + BOUND + IDENT +
GRPCOM + INFODIS, family = “binomial”, data = data)
Min 1Q Median 3Q Max
-1.5409 -1.3369 0.8532 1.0259 2.1899
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.0149 0.5323 -3.785 0.000153 ***
COMSTRS 2.3823 0.5386 4.423 9.73e-06 ***
COMCOP 2.8381 0.6027 4.709 2.49e-06 ***
ADVSS 2.6210 0.7355 3.564 0.000366 ***
BOUND 0.3499 0.6732 0.520 0.603244
IDENT -0.2877 0.7094 -0.406 0.685086
GRPCOM 1.0341 0.8612 1.201 0.229852
INFODIS 1.4351 0.5823 2.465 0.013716 *
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1260.0 on 908 degrees of freedom
Residual deviance: 1132.8 on 901 degrees of freedom
Number of Fisher Scoring iterations: 4
Teaching is transformative. It is about openness and commitment. Teaching is individual, and it is social. It is about interaction, not only between teachers and students, but also between teachers, students, and materials. Teaching is a way of life, and nothing is more exhilarating than leaving a classroom at the end of a session with the feeling that you could make a difference. As an instructor, my teaching philosophy is best described by the term “teacher-learner.” I believe that teaching is as much learning as teaching. Teachers need to seek and impart up-to-date knowledge. They need to challenge their students intellectually. This requires an instructor to be a good teacher as well as a learner. Therefore, teaching for me is a process of reflexive learning of the dynamics of the class, designing and devising a strategy to open the students’ minds to absorb new concepts, critique, develop their own perspectives, and inculcate the habit of seeking knowledge independent of the instructor.
Every class is a unique social setting. Teachers need to learn how each student absorbs new concepts, reacts, and develops his or her own perspective. Every student is unique, and has his or her way of learning. Therefore, a teacher needs to have the ability to learn the dynamics of the class. I consider this as a reflexive process. While learning about each student, I encourage them to learn about me, my teaching style, and what sort a learning environment I expect to create. This view encourages me to have a conversation with the class. This conversation happens on the group level where I interact with the whole class, and on the individual level. A good teacher has to find a unique way of interaction with each and every student in the class. This, I believe is particularly the case in teaching concepts of Information and Communication Technology (ICT) to a non-computer science audience. One student may find ICT concepts overwhelming while another may seek information beyond the syllabus. Therefore, my teaching strategy includes materials and exercises to make every student understand a set of core concepts, support those who find the concepts overwhelming to overcome the difficulties, and help those who seek additional concepts to find more knowledge independently. This view acknowledges that every student is unique and has to be guided in a unique way.
Designing and devising a strategy to open the students’ minds to absorb new concepts, critique, and develop their own perspectives is a main aspect of my teaching philosophy. I believe that a good teacher challenges the students intellectually. I consider this as an important characteristic of the classes I have taught as a doctoral student and the classes that I will be teaching in the future. Teaching ICTs within the social sciences curriculum requires opening up students to concepts which they may consider as coming from the computer science discipline. In my ICT Concepts class, I challenge the students by bringing them out of their comfort zones and introducing to them numerous concepts in the field of technology. This requires many techniques. I follow a sequence where I introduce the concept first, answer the questions, use video materials to provide visual examples, do a group activity, and review all the concepts in the end of the class. Among others, I find that role play, demonstrations, group discussions, and group challenges are extremely helpful to keep the students engaged. Challenging students, however, needs to be planned well. I assume that most students expect a heavy workload and high level of stress towards the end of the semester. My strategy is to design my courses in such a way that perceived workload is high in the middle of the semester and low towards the end. This leaves time for students to be more comfortable with the subject matter towards the end of the semester, think more independently, and complete the course with little or no stress. Similarly, my syllabi are arranged to introduce technical concepts and terminology in the first half of the semester, and applied aspects of technology in the second half. I follow this strategy in my ICT Concepts class in which I discuss technical concepts in the first half and more socio-technical concepts in the second.
The main outcome of my teaching is to help students to develop their own perspectives, and instill the habit of seeking knowledge independent of the instructor. This helps create an independent and confident student. I have used a range of techniques including asking students to develop their own ICT glossaries, critical response sessions, peer-review sessions, poster presentations, and debates to help students develop their own perspectives. My assignments often require seeking extra reading materials and comparing and contrasting them with the readings assigned.
Seeking advice and support to improve my teaching skills is an important part of my teaching philosophy. I consider my teaching evaluations important since they provide feedback about how I can create a better learning experience for my students. I also believe that seeking advice from experienced faculty members is important for my development. During the past two years, I shared my teaching evaluations with the Chair of the School of Communications and asked for advice on how I could improve my teaching. I have also sought advice from my advisor and other faculty members in designing syllabi, developing assignments, and designing interactive exercises. Finally, I believe that teaching is transformative as the teacher and the student change throughout the teaching process. The more I teach, the more I learn, and the more I learn, the more my I can help my students to learn.
This teaching philosophy is informed by several learning theories although I did not pay particular attention on developing it on solid theoretical grounds. I believe that it reflects a combination of behavioural, sociocultural, as well as constructivist approaches of learning. Thinking about my statement that “nothing is more exhilarating than leaving a classroom at the end of a session with the feeling that you could make a difference,” my perspective to teaching is based on the expectation that my students display some changes in their behaviour as a result of the learning experience. This sounds like a “behaviouralist expectation.” However, the above philosophy acknowledges the fact that learning occurs in a social setting where cultural elements play a crucial role. Moreover, my teaching strategies are based on the principle that learning is a constructivist experience enabled by the use of strategies such as role play, group activities, and creative exercises.
Chi-squared test is useful to see differences between two distributions when they are not normal. Here’s an easy-to-do chi squared test on R. In this test, I’m trying to see if two hashtags are different in terms of collective coping in response to a social issue (e.g., displaying togetherness, talking about the issue) and social movement intent (e.g., organizing protest activity online). We manually coded two samples from #BlackLivesMatter and #AliveWhileBlack. You can see the test is significant for most of the indicators.
############# BlackLivesMatter & AliveWhileBlack Preliminary Statistics ################
data1 <- read.csv(“/Research/…/Data/Collective_Coping_FinalDataset.csv”, header = TRUE)
##################### FREQUENCIES AND CHI-SQUARE TESTS ###################
#Full names of variables: 1)Communication_about_the_Stressor (COMSTRS) #2)Displaying_Communal_Coping_Orientation (COMCOP)
#3)Advising_and_Social_Support (ADVSS) 4)Defining_ the_boundaries_of_the_collective (BOUND)
#5)Maintaining_collective_identity (IDENT) 6)Group_communication (GRPCOM)
#7)Information_dissemination (INFODIS) 8)Coordination_of_activities (COORD)
# Rows: 0=#BlackLivesMatter, 1=#AliveWhileBlack/ Columns= 0=NO, 1=YES
#These frequency tables give an idea on the distribution of data
# A will be rows, B will be columns
table1 <- table(data$Hashtag,data$COMSTRS)
table2 <- table(data$Hashtag,data$COMCOP)
table3 <- table(data$Hashtag,data$ADVSS)
table4 <- table(data$Hashtag,data$BOUND)
table5 <- table(data$Hashtag,data$IDENT)
table6 <- table(data$Hashtag,data$GRPCOM)
table7 <- table(data$Hashtag,data$INFODIS)
table8 <- table(data$Hashtag,data$COORD)
# Chi-Square Tests for each variable. Tests the null hypothesis that the distribution of each variable
#is not different between the two hashtags
R is a great tool to test regression models. The following is an R code for a logistic regression model. The objective of this model is to find effects of collective coping and social movement intent on the choice of one of the two hashtags related to racial discrimination (#AliveWhileBlack and #BlackLivesMatter).
######## BlackLivesMatter & AliveWhileBlack Preliminary Statistics ########
data1 <- read.csv(“/Research/…/Data/FinalDataset.csv”, header = TRUE)
##########Logit Model, Resource: http://www.ats.ucla.edu/stat/r/dae/logit.htm############
data$hahtag <- factor(data$Hashtag)#converting Hashtag into a categorical factor
logit1 <- glm(Hashtag ~ COMSTRS+COMCOP+ADVSS+BOUND+IDENT+GRPCOM+INFODIS+COORD, data = data, family = “binomial”)
## Confidence intervals (CIs) using profiled log-likelihood
## CIs using standard errors
## odds ratios only
## odds ratios and 95% CI
exp(cbind(OR = coef(logit1), confint(logit1)))
with(logit1, null.deviance – deviance)#Chi-square
with(logit1, df.null – df.residual) #degree of freedom
with(logit1, pchisq(null.deviance – deviance, df.null – df.residual, lower.tail = FALSE))#p-value
#Plot the model
#It looks like the last variable in the above model is problematic
#Regression Model2 |||| This is a better model
logit2 <- glm(Hashtag ~ COMSTRS+COMCOP+ADVSS+BOUND+IDENT+GRPCOM+INFODIS, data = data, family = “binomial”)
## Confidence intervals (CIs) using profiled log-likelihood
## CIs using standard errors
## odds ratios only
## odds ratios and 95% CI
exp(cbind(OR = coef(logit1), confint(logit2)))
with(logit2, null.deviance – deviance)#Chi-square
with(logit2, df.null – df.residual) #degree of freedom
with(logit2, pchisq(null.deviance – deviance, df.null – df.residual, lower.tail = FALSE))#p-value