This is the second part in a series on the intersections of technical communication in the tech industry and classroom. Read the series introduction here.
One (but by no means the only) path to a career in software development is through an undergraduate degree in Computer Science (CS). For most of the Georgia Tech students majoring in CS or Computational Media (CM), a related interdisciplinary degree, this path includes a two-semester CS Junior Design course sequence. The Junior Design sequence is offered as a co-requisite to a two-semester tech comm course sequence in which communicative deliverables are tied to software development design, planning, and implementation practices that students are likely to encounter in the tech industry.
I came to Georgia Tech from the software industry and have taught the tech comm side of the course sequence since Fall 2016. Since that time I have been impressed by how well the sequence covers some of the practices I have seen at work among professional software developers while also emphasizing the role that tech comm plays in the success of such practices. The effectiveness of this unique curricular innovation makes it is worth taking a closer look at the course sequence, its history, and how it helps prepare students to navigate a career in the tech industry.
Georgia Tech’s CS and CM Majors
According to enrollment data accessed through Georgia Tech’s Fact Book Online, 16,047 undergraduates enrolled at Georgia Tech for the Fall 2018 semester. These include 2,329 Computer Science (CS) majors and 189 Computational Media (CM) majors, for a combined total of 2,518 CS/CM undergraduate students that constitute 15.7% of undergraduate enrollment.
As per the chart below (which I generated using these very neat LITE controls) the combined CS/CM enrollment has more than doubled in the last decade, which may reflect both growing interest in the field as well as the increasingly visible profile of Georgia Tech’s College of Computing.
Both CS and CM majors have the opportunity to shape their degree path and course selection through the threads, or areas of focus, they choose. CS majors select two of the following eight CS threads:
- Info Internetworks
- Modeling & Simulation
- Systems & Architecture
CS majors can combine threads in any way they choose, resulting in 28 possible combinations and corresponding study plans. The interdisciplinary nature of the CM degree requires CM majors to take select one CS thread and one Literature, Media, and Communication (LMC) thread, resulting in a different set of curricular options.
Georgia Tech CS and CM majors can also customize their undergraduate experience through how they choose to fulfill their Junior Design Requirement. As of Fall 2018, there are four options:
- Complete the two-semester CS Tech Comm & Junior Design course sequence
- Contribute to a CS-related Vertically Integrated Project (VIP); this option also requires students to take LMC 3403, an introductory tech comm course
- Select the Georgia Tech Research option, which requires 9 credits of CS-specific research; students also must take LMC 4701: Research Proposal Writing and LMC 4702: Research Thesis Writing
- Participate in the Create-X Program, which covers startup basics and entrepreneurship; this option also requires students to take LMC 3403
The CS Tech Comm & Junior Design sequence, then, is only one of the potential pathways that students can take towards completing their degree, although at present it is the most popular option in terms of enrollment. It is primarily geared towards students who plan to pursue a career in the software industry—as opposed to those who plan to pursue research or start their own businesses—and who do not choose the VIP option.
Overview and History of the Course Sequence
In its present form, the CS Tech Comm & Junior Design course sequence requires students to work in teams consisting of 4-6 members. Each team works with a real-world client to design and implement a software solution that meets the client’s stated specifications. The first semester consists of LMC 3432: Tech Comm Strategies and CS 3311: Project Design. The second semester consists of LMC 3431: Tech Comm Approaches and CS 3312: Project Implementation. Notably, the course pairings for a given semester function as a single course co-taught by a CS instructor and an LMC instructor, and all deliverables and assignment grades count as both CS and tech comm components. Each section is capped at 10 teams (approximately 50 students), and LMC 3432/CS 3311 and LMC 3431/CS 3312 are both offered in the fall and spring semesters. Although enrollment varies, typically 4-6 sections of each course pairing are offered per semester, meaning that 400-600 students—or 80-120 student teams—are participating in the course sequence at any given time.
Prior to Fall 2014, the requirements currently fulfilled by the course sequence included two separate courses: CS 4911: Design Capstone and LMC 3403: Technical Communication. CS 4911 was also a project- and team-based course in which student teams worked with clients. As per its course description, LMC 3403—which is still required of students who take the VIP or research route—“introduces students to workplace document genres to develop visual and verbal skills in critical analysis and document development.” LMC 3403 is also open to students in other majors, which means that the material covered in the course must complement a broader range of disciplines than just CS.
Administrators and faculty in the Division of Computing Instruction (DCI), who are responsible for staffing most of the CS courses required by CS and CM majors, identified a number of issues with this earlier model:
- Alumni feedback indicated that Georgia Tech’s CS graduates needed stronger writing skills.
- The non-discipline-specific nature of LMC 3403 allowed too much variability across different sections and resulted in student perceptions that tech comm had nothing to do with their future careers.
- Although CS 4911 was used as an assessment point for design and oral presentation skills, LMC 3403 was the course that was expected to provide instruction on these skills. Because LMC 3403 was not a prerequisite for CS 4911, it was possible for students to be assessed on topics for which they had not received instruction.
- Compressing the entire CS 4911 project into a single semester was inadequate for the students to produce a high-quality end-product.
- Offering the capstone design as a senior-level course resulted in classes consisting almost entirely of graduating seniors, which resulted in lack of motivation to create a good end-product.
These issues led the DCI to partner with administrators and faculty in the Writing and Communication Program (WCP) to restructure the separate capstone and tech comm courses into an integrated course sequence. The new structure replaced CS 4911, a single-semester senior-level capstone course, with a two-semester junior design course sequence. This change gave student teams two semesters to design and complete their projects, and also moved the design requirement earlier in their coursework to help combat motivation issues. Restructuring also replaced the LMC 3403 requirement with tech comm courses that were tailored to CS and CM majors; by making these courses co-requisites to the junior design courses, the new structure also emphasized the importance of tech comm skills in software design and implementation processes. The end result, introduced in Spring 2015, is the innovative and unique CS Tech Comm & Junior Design course structure that we have in place today, which continues to be collaboratively administered and staffed by DCI and WCP faculty.
Tech Comm and Multimodality (WOVEN)
The tech comm components of the Junior Design sequence are taught almost exclusively by Marion L. Brittain Postdoctoral Fellows, who are faculty members in the WCP. As its name implies, the Writing and Communication Program engages with not only writing but also other forms of communication. In particular, it advocates for an understanding of communication as multimodal—that “communication involves more than the ability to put words to paper”—and has formulated an approach to communication instruction called WOVEN:
- Written Communication forms a foundation for rhetoric process, and multimodality. Students create artifacts ranging from essays, research articles, and proposals to websites, wikis, podcast video scripts, tweets, and blogs.
- Oral Communication is the core of individual and team presentations for classrooms, workplaces, and the community. Students develop listening and speaking strategies for collaboration, engagement, and leadership.
- Visual Communication focuses on information design for pages as well as screens – Typography, images, and animation – to interpret the ways visual rhetoric shapes our perceptions and actions.
- Electronic Communication uses sound, image, and text in digital forms. Students learn media shape messages as they consider the psychological, social, political, economic, and ethical dimensions of digital media.
- Nonverbal Communication begins with body language, eye contact, and voice and extends to attire, pacing of information, physical movement, and use of space as factors that affect audience response and trust.
The WOVEN approach is introduced in ENGL 1101 and ENGL 1102, which are first-year English Composition courses (and core requirements according to University System of Georgia guidelines). Rather than writing traditional five-paragraph essays, students utilize the WOVEN curriculum to create artifacts like research posters, podcasts, and Pecha Kuchas. This multimodal pedagogy also guides the learning objectives and assignment structures of other courses, including the CS Tech Comm & Junior Design sequence. Indeed, while the course sequence is partially the result of feedback for more writing instruction, as the following section demonstrates, the disciplinary forms of communication specific to CS are inherently multimodal.
In the first semester of the course sequence (LMC 3432 / CS 3311) students focus on team formation, establishing an initial client relationship, and designing an initial prototype. Students are also re-introduced to Agile (which they learn about in a course prerequisite, CS 2340: Objects and Design), one of a number of software development methodologies used in industry. During the semester each team produces the following deliverables (listed here with potential applicable modalities), most of which reflect the types of deliverables they will be expected to produce on the job :
- Project bid (W)
- Initial email to client (W)
- Ongoing client communication (WOVEN)
- Vision statement (W)
- User stories & acceptance criteria (W)
- Usability evaluation & prototype (WVE)
- Final presentation (WOVEN)
- Reflective memo (W)
While some deliverables are client facing (e.g., the vision statement, user stories, prototype), others are not (e.g., the reflective memo). The semester culminates in a prototype that the team reviews with their client and then shares with their classmates via an in-class group presentation.
In the second semester of the sequence (LMC 3431 / CS 3312) students focus on project management, implementation, and delivery. They put the Agile methodologies introduced in the first semester into practice, and experience the entire second semester as five three-week sprints. In addition to developing and delivering the final software product to their client at the end of the semester, teams also complete the following:
- Iteration plan & project management (WVE)
- Ongoing client communication (WOVEN)
- Sprint video demos (WOVEN)
- Team retrospectives (WOVN) & memos (WV)
- Detailed design document (WV)
- Code review (WOVN)
- Delivery documentation (WVE)
- Final reflective memo (W)
- Expo presentation (WOVEN)
As with first-semester deliverables, students are able to utilize this range of assignments to become familiar with the steps involved in planning and creating various coding and communicative artifacts similar to those they can expect to see in the workplace; they also spend time reflecting on the collaborative processes involved in producing these artifacts. The semester culminates in a finished software application that is both delivered to the client and presented at a public exposition.
In order to ensure that the student experience of the course is consistent, the main deliverables listed above are the same across all sections of the course. The teaching methods, lectures, scaffolding exercises, and other requirements may vary, however, depending on the CS and LMC instructors that teach a given section. For instance, when teaching part 1 of the sequence, my co-instructor and I require teams to conduct a stand-up meeting when we transition from lecture to in-class team work time, but this is not a required practice, and other instructors may use their class time differently to emphasize different pedagogical goals.
Some Course Sequence Takeaways
For the most part the CS and CM majors who take the CS Tech Comm & Junior Design course sequence show up already knowing how to code and/or design. The course offers them the opportunity to put these skills into practice 1) with a team 2) on a sustained project 3) with corresponding documentation. While there is inherent value in the coding and the documentation that teams complete, to my mind the course best prepares our students for their future careers by requiring them to communicate their technical brilliance to the following audiences.
While it may seem like a no-brainer for folks who are used to client communication (and some students do have work experience from a co-op, internship, or full-time job), working with a client for the first time can be daunting. The challenges of client communication manifest early on in the sequence as teams have to figure out how to address a client in an email, negotiate appropriate meeting times and places, and determine how to envision a software deliverable that will both meet the client’s needs and fit within the scope dictated by the design and implementation resources available. Teams often already find themselves struggling to manage their time and other resources, and finding a way to balance these demands while maintaining a professional ethos in front of their client can be especially difficult. In addition, teams must learn to interact with and respect clients who may have different levels of technical proficiency than themselves (sometimes more, sometimes less, sometimes in different areas), and who also have expertise in areas other than programming. Successful client communication becomes an ongoing process throughout the course sequence, and one in which consideration of audience is vitally important. While awareness and accommodation of audience is a key concern in rhetoric in general and tech comm specifically, it is also critical to the success of any career, product, or business.
Other development teams
Student teams interact with each other formally through 1) performing usability heuristic evaluations on each other’s prototypes (which is the best way to convince teams that their designs may not be as intuitive as they think they are), 2) conducting peer reviews on numerous written deliverables including a detailed design document (which records information such as system architecture, database design, and UX rationale), and 3) performing a code review towards the end of the second semester. Students also serve as an audience for formal in-class presentations at the end of the first semester and for the public expo booths at the end of the second semester.
Such peer feedback is important in this case, as it reframes coding and communicative performances as actions that have weight and meaning outside of the context of the classroom, where a grade is often the primary concern. When teams begin to think of each other as other developers (instead of other students), and deliverables such as a detailed design document as a means of conveying information to other developers (instead of a hoop to jump through to get an A), they are much more likely to be successful in communicating information that they and their future teams need to thrive.
Their fellow team members
As the potential combination of threads available to CS and CM majors suggests, each student brings their own interests and areas of specialization to the course sequence. They also bring various and varying work/life experiences, comfort with working in groups, and levels of motivation. As indicated by peer evaluations conducted via CATME, for some teams this translates to a harmonious collaborative experience, while for others it results in frustration and stress. Team success also varies and can affect how students think about their fellow team members. We have had clients fire teams at the end of the first semester, while other teams have been brought into client venues to present their work or have been included as co-authors of published research.
Arguably, one of the most important things we can instill in our students is the ability to evaluate what is working and what is failing, and then make communal and individual adjustments accordingly. As teachers, we structure this process formally by requiring teams to conduct sprint retrospectives (using a prescribed hot air balloon method). While such adjustments often have to do with design decisions or technical choices, as the diagram below suggests more often teams benefit from adjustments in processes around communication, planning, time management, and accountability. The better we can prepare our students to collaboratively acknowledge successes and articulate paths forward in response to failures, the better they are likely to react to such conditions in industry.
Georgia Tech made the (in my mind excellent) decision to emphasize the importance of specialized tech comm skills based on alumni feedback and faculty assessment of what CS and CM graduates need to be successful in the tech industry. However, while an undergraduate degree is the route that my Georgia Tech students have chosen to take into tech, as I note at the beginning of this post, this is not the only path to a career in the tech industry. Furthermore, there is no guarantee that a given academic institution will emphasize tech comm skills in this way.
A potential solution—and one that I hope to more see evidence of as I settle into my role as a tech industry analyst—is to implement training and educational initiatives that foster technical communication skills in software development talent. To that end, if your organization does have tech comm training or processes in place that you think I should know about, please find me on Twitter (@drkellyannfitz) or email me at [email protected].
- Many thanks to Robert Waters, senior lecturer in the DCI (and my excellent co-instructor for the Fall 2018 semester), for providing information on the history of the course sequence, the rationale behind the changes that were made, and the faculty involved in making these changes.
- Thank you also to CS instructors Olufisayo Omojokun and Robert Waters, tech comm instructors Amanda Girard and Casey Wilson, and TECHStyle editor Nick Sturm, all of whom read through earlier drafts of this article and provided much-needed feedback and corrections. Any remaining mistakes or omissions are my own.
- While it is impossible to track down every faculty member who contributed to the initial design and revisions of the course sequence, contributors include the following:
- The initial design of the course sequence: Bill Leahy and Robert Waters (DCI); Rebecca Burnett, Andy Frazee, and Olga Menagarishvili (WCP)
- Instructors for the initial pilot: Robert Waters and Chris Ritter (WCP)
- Curricular revisions made (2016) to more closely integrate CS and tech comm components: Halcyon Lawrence and Liz Hutter (WCP); Olufisayo Omojokun and Robert Waters (DCI)
Note: a version of this article has also been published on TECHStyle.