Thursday, February 21, 2019
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)
Developing Soft and Technical Skills Through Multi-Semester, Remotely Mentored, Community-Service Projects
Professor Samuel A. Rebelsky will present a talk discussing the design rationale for CSC 321/22 (now CSC 324/26), in preparation for a talk that he and Dr. Janet Davis will be giving at the 50th SIGCSE Technical Symposium in Computer Science Education.
On Thursday, February 21, 2019, Professor Samuel A. Rebelsky will present a talk discussion the design rationale for CSC 321/322 (now CSC 324/326), in preparation for a talk that he and Dr. Janet Davis will present at the 50th SIGSCE Technical Symposium in Computer Science Education:
For the past four years, we have taught a reimagined software design course with typical and atypical components. Projects form the core of the course: Students work in teams of 4–6 people to develop non-mission-critical software for local non-profits, building their engagement with the community and helping them understand the broader impact of their work. These projects require multiple semesters to complete. Since students typically enroll for the course for one semester, this model gives students the novel experience of legacy software. We also provide each team with an alumni mentor who helps them navigate not only technical problems but also the challenges of working with a real-world, non-technical client.
These aspects of the course also develop our students' soft skills. They learn to work with a team, to communicate with non-technical clients, to work with remote collaborators (or mentors), and to think ahead to those who will take on the project in the next semester. As we tell our students, these skills are often as crucial as their technical skills.
In this talk, we report on the design of the course and describe some of the challenges associated with this model (e.g., projects that inadvertently reveal information, clients who switch management or expectations, and projects that become obsolete) and provide suggestions for those who might want to adopt a similar approach.
Refreshments will be served at 4 p.m. in the Computer Science Commons (Noyce 3817). Professor Rebelsky's talk, Developing Soft and Technical Skills Through Multi-Semester, Remotely Mentored Community-Service Projects,
will begin at 4:15, in Noyce 3821. Everyone is welcome to attend!
Thursday, October 4, 2018
4:15 p.m. in Science 2022 (note the room is different than usual)
Careers in Computer Science and Informal Talk by Grinnell CS Alumni
Cassie Koomjian '05, Ian Young '08, Terian Koscik '12, and Alex Leach '06 talk about their careers and experiences in the software design and development field.
At this week's Computer Science Table (at noon on Friday, December 13, in Rosenfield 224A), we will discuss a recent statement from a group of programmers about desired features of modern applications. The reading is:
From the statement:
A new architecture has evolved to let developers conceptualize and build applications that satisfy today's demands. We call these Reactive Applications. This architecture allows developers to build systems that are event-driven, scalable, resilient and responsive: delivering highly responsive user experiences with a real-time feel, backed by a scalable and resilient application stack, ready to be deployed on multicore and cloud computing architectures. The Reactive Manifesto describes these critical traits which are needed for going reactive.
This Friday at CS Table, we will be discussing a classic in computer science, Donald Knuth's Turing Award lecture speech, "Computer Programming as an Art".
Knuth, Donald (1974). "Computer Programming as an Art". Communications of the ACM 17 (12): 667–673.
This document is available at http://fresh.homeunix.net/~luke/misc/knuth-turingaward.pdf and elsewhere.
Grinnell College's CS Table is a weekly gathering of folks on campus (students, faculty, staff, alums, etc.) to talk about issues relating to computer science. CS Table meets each Friday at noon in JRC 224A, the Day Public Dining Room (PDR) in the Joe Rosenfeld '25 Center (JRC). All are welcome, although computer science students and faculty are particularly encouraged to attend.
The Spring 2010 theme of CS Table is Software Design.
Contact Professor Rebelsky for further information or for a printed copy of the document in booklet format.
On Friday, 5 March 2010, CS Table will be visited by Scott Porter '80. He writes
I assert that in software design one wants: Reduced Complexity - Reuse - Real World - Easy Deployment - Dynamic Updates - Adaptive - Transparency - Versioning - Simple - Small - Fast - Lazy - Secure - Humble - Non Intrusive - Runs Everywhere - Widely Used - Supported by Key Companies. Pretty neat trick if we could achieve all these benefits. Right? We will discuss how these are possible. Maybe there is a "silver bullet".
Potential readings. (Don't stress over the all the details. The following Wikipedia links will give an overview and way more than we can cover.)
Grinnell College's CS Table is a weekly gathering of folks on campus (students, faculty, staff, alums, etc.) to talk about issues relating to computer science. CS Table meets each Friday at noon in JRC 224A, the Day Public Dining Room (PDR) in the Joe Rosenfeld '25 Center (JRC). All are welcome, although computer science students and faculty are particularly encouraged to attend.
The Spring 2010 theme of CS Table is Software Design.
For Friday's CS Table, we will examine some Web security guidelines in some depth.
The Open Web Application Security Project (2010). OWASP Top 10 - 2010 rc1: The Ten Most Critical Web Application Security Risks. Online document available at http://www.owasp.org/index.php/File:OWASP_T10_-_2010_rc1.pdf.
The reading is a bit longer than most, but can be skimmed fairly quickly by those who just want an overview.
Grinnell College's CS Table is a weekly gathering of folks on campus (students, faculty, staff, alums, etc.) to talk about issues relating to computer science. CS Table meets each Friday at noon in JRC 224A, the Day Public Dining Room (PDR) in the Joe Rosenfeld '25 Center (JRC). All are welcome, although computer science students and faculty are particularly encouraged to attend.
The Spring 2010 theme of CS Table is Software Design.
Contact Professor Rebelsky for further information or for a printed copy of the document in booklet format.
At noon on Friday, 12 February 2010, Computer Science table will consider the topic of Code Review. Our reading will be a code review document provided to us by a Grinnell alum. Note that the reading is proprietary, but not confidential. Hence, you are free to read and discuss it, but you should not distribute it to others. Contact Sam Rebelsky for a printed copy of the document.
Grinnell College's CS Table is a weekly gathering of folks on campus (students, faculty, staff, alums, etc.) to talk about issues relating to computer science. CS Table meets each Friday at noon in JRC 224A, the Day Public Dining Room (PDR) in the Joe Rosenfeld '25 Center (JRC). All are welcome, although computer science students and faculty are particularly encouraged to attend.
The Spring 2010 theme of CS Table is Software Design.
Wray, Stewart (2010). How Pair Programming Really Works. IEEE Software 27 (1), pp. 50-55. Available online at http://www.computer.org/cms/Computer.org/ComputingNow/homepage/2010/0110/W_SW_PairProgramming.pdf.
Grinnell College's CS Table is a weekly gathering of folks on campus (students, faculty, staff, alums, etc.) to talk about issues relating to computer science. CS Table meets each Friday at noon in JRC 224A, the Day Public Dining Room (PDR) in the Joe Rosenfeld '25 Center (JRC). All are welcome, although computer science students and faculty are particularly encouraged to attend.
The Spring 2010 theme of CS Table is Software Design.
Grinnell's introductory courses introduce fundamental views of problem solving and different supporting programming languages. Upper-level courses include several core courses and many elective courses. The major provides some flexibility to allow students to follow their personal interests and career goals.
The Computer Science Major balances requirements in foundational areas with some flexibility.
Grinnell's regular Computer Science Major requires 32 credits of computer science and 8 credits in supporting mathematics. This level of background supports many student interests and career goals. However, students interested in careers in computing are advised that the following courses should be taken either as Electives for the Computer Science Major or as additional courses:
With these selections, students cover the full range of recommendations recommended by Association for Computer Machinery (ACM), the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE-CS). This extended major includes 32 credits of computer science and 8 credits in supporting mathematics and is identified by the professional societies as a curricular exemplar.
The Computer Science Department offers a range of electives to extend student backgrounds beyond the undergraduate core. In addition to regularly scheduled courses, special topics courses address particular interests of both students and faculty.
Some recently-offered electives have included artificial intelligence, computer networks, computer vision, computational linguistics, and evolutionary algorithms, and data visualization.
Complementing regular courses, students work with faculty on a wide range of guided reading courses, independent projects, and mentored advanced projects.