CSCI 380:
Applied Client-Centered
Software Development
Spring Term 2021, John Jay College of Criminal Justice, City University of New York
Spring Term 2021, John Jay College of Criminal Justice, City University of New York
During the spring term of 2021, in the midst of the COVID-19 Pandemic, an intrepid group of Computer Science students banded together under the leadership of an industry professional to create real-world projects. Their course was rough, challenges many, and yet their final projects are a testament to their perseverance and dedication.
In the field of software engineering, each software development organization operates with its own unique methodology. Agile practices differ from organization-to-organization and even team-to-team: 2 week sprints in Scrum-style, continuous iteration in a Kanban-style environment, a hybrid Scrumban practice, or even traditional waterfall are all viable methodologies to frame the product life cycle. Additionally, software tools vary from environment-to-environment: which programming language to use for which task, best practices, and even down to how many spaces to use in indentation of lines of code.
To be successful in any company requiring collaboration between engineers, an understanding of best practices and tooling is vital. In this course, students will form engineering teams representing Agile software development groups working together on a deliverable. Students will gain experience not only in the execution of a project but also with the software development life cycle, including but not limited to various key tools used in current development environments such as source control, user story creation, backlog grooming, story points and velocity, retrospectives, unit testing, monitoring and alerting, continuous integration and delivery, and security.
The key deliverables for this course will mirror the working cycle of an actual engineering project: 2-week sprints with iterations of the project presented fortnightly by the team to the instructor who will have the dual capacities of Product Owner and Engineering Manager. Office hours will include 1:1 time with the instructor focusing on career growth and trajectory outlining as well as concrete, code-level questions.
By the end of this course, students will be familiar with the skills necessary to join an existing software development team, experience developing a project from conception through implementation to delivery, and will understand holistic, modern development methodologies.
Student-created, student-driven projects were the deliverables of this course. Please find below their accomplishments.
Foodies
The Elevator Pitch:
For those who love to eat out, join us in maximizing your eating out budget and meeting like minded Foodies! Plan your monthly dining adventures, discover new venues and cuisine, meet other Foodies, and maybe even grab a bite together.
Main Features:
A planning tool to decide how many times you can eat out each month, based on restaurant price tier
A budgeting tool to keep track of your spending
A forum to meet like minded Foodies, compare notes on restaurants, food, budgeting, or even share a meal
A search tool to find restaurants based on restaurant type and location
Technologies Used:
HTML, CSS, JS, React, Express, Node.js, Firebase, OAuth, Google API console, Yelp API.
Group Members:
Brandon McInnis < brandonskyhawk at gmail.com >
Ibrahima Coulibaly < iboucouldy95 at gmail.com >
Jian Lin < linctjabc at gmail.com >
Thin Thazin < thinthazin.chris at gmail.com >
Tyrone Senra < tyrones320 at gmail.com >
Bodi Tang < tangbodi at gmail.com >
Rose Wong < rwnwong at gmail.com >
Team Rocketship
The Elevator Pitch:
The stock market can be daunting to new investors. Make a wrong move and you’re out of thousands of dollars. Before you put any real money into the real stock market, make virtual bets for free using Rocketship – a stock trading sandbox that allows you to invest with virtual money while seeing effects some real-time stock market changes.
Main Features:
View up to date graphs of all stocks.
Zoom into the graph by 1 year, 3 months, or more.
Use the sandbox to see how much money you could have made on certain investments.
Technologies Used:
React, Express, and MongoDB, Plot.ly, and Polygon.io.
Group Members:
Jaehoon Han < jaehoonhan1 at gmail.com >
Nitin Kumar < IT.NitinK at gmail.com >
Ilan Rodriguez < irodrigue101 at gmail.com >
Kevin Chacha < kevcha.business at gmail.com >
The Transients
Temps
The Elevator Pitch:
Temp Track is a React Web Application which can be used in restaurants, hotels, and any other facility that requires temperature logging.
Main Features:
Employees and guests temperature logs to the database
Check latest updates on COVID-19
Technologies Used:
ReactJS, MongoDB, CSS, NodeJS, npm
Group Members:
Damiano Canali < canali.damiano at yahoo.com >
Ashraful Islam < asharafulislam2 at gmail.com >
Ahsan Khan < ahsank0120 at gmail.com >
Santosh Paudyal < santosh.paudyal at jjay.cuny.edu >
Instructor: Sonyl Nagale
Chicago-born, Iowa-raised, Los Angeles-seasoned, and now New York City-flavored, Sonyl Nagale started his career as a graphic designer focusing on web, which led down the slippery slope to becoming a full-stack technologist instead. With an eye toward the client use case and conversation with the creative side, he prides himself on taking a holistic approach to software engineering. Having worked at start-ups and global media companies using a variety of languages and frameworks, he likes solving new and novel challenges. Passionate about education, he's always excited to have great teachable moments complete with laughter and seeing the "Aha!" moments in students' eyes. Sonyl thanks the NYC Tech-in-Residence Corps for the opportunity to teach (and a special shout-out to Mottaqui Karim.)
Find more information about the Tech-in-Residence Corps and the Tech-to-Talent Pipeline here: https://www.techtalentpipeline.nyc/