dc. David Cohen, portfolio
PortfolioDownload, PDF, two pages

Curriculum vitae

David Cohen

M.Sc. Computer Science and Engineering student at the University of Bologna, four years of professional back-end experience, co-author of a peer-reviewed Neural Networks article.

david@davidcohen.itgithub.com/davidcohenDC, external sitelinkedin.com/in/david-cohen96, external site

Publication

2026
Open access

Abstractive summarization through the prism of decoding strategies

Neural Networks · Volume 196 · 108249

G. Frisoni, L. Ragazzi, D. Cohen, G. Moro, A. Carbonaro, C. Sartori.

Credited for software, investigation, data curation, formal analysis and validation.

Built the Python experimental pipeline with HuggingFace and PyTorch, ran experiments on SLURM and processed results. The study compares five language models, six datasets and more than 3,500 configurations, scored with ten automatic metrics alongside human assessment, latency and carbon footprint. Code and dataset.

Education

September 2022 – in progress; expected March 2027

M.Sc. Computer Science and Engineering

University of Bologna · Cesena

Weighted average 28.5/30, including 30 e lode in Machine Learning and Smart Vehicular Systems.

September 2018 – December 2022

B.Sc. Computer Science and Engineering

University of Bologna · Cesena

Computer Engineering track. Thesis in natural language processing and decoding strategies for abstractive summarization.

Experience

September 2025 — July 2026

Teaching Tutor · Operating Systems

University of Bologna

Provisioned a local Moodle stack with Docker for offline course testing and wrote the OFA question bank, with a difficulty level and a category per question.

Docker, MariaDB, Moodle.

June 2021 — June 2023

Full-Stack Developer

Docenti.it

Developed the back end of a predictive engine for national teacher rankings (Aggiornamento Graduatorie) that became the engine of paid services such as InCattedra: it calculates scores under ministerial guidelines and estimates next year’s position from historical rankings.

  • Co-managed the CRM back end: brought a ticketing prototype into use, redesigned checkout with payment APIs and built the students’ exam calendar.
  • Developed IoMiLaureo and redesigned the public website’s REST APIs; helped migrate the CRM, introduced shared team planning and mentored my successors.

Java, Java EE, Hibernate, Spring MVC, JAX-RS, MariaDB, JSF, PrimeFaces, GWT; Nginx and Apache.

September 2020 — June 2021

Full-Stack Developer Intern

Docenti.it

Developed an algorithm that routes requests to tutors automatically, balancing the load by a weighted percentage; CRM modules, server-side development and bug fixing.

Java EE, Hibernate, Spring MVC, JSF, MariaDB, GWT, JavaScript.

September 2016 — June 2018

System & Network Administrator

GC Group Srl

Configured and managed servers, workstations and network infrastructure; OS deployment, network monitoring and remote maintenance. On-site and remote IT support.

Windows Server, Hyper-V, remote administration tooling.

Selected projects

2025–2026

Scala Robotics Simulator

A robotics simulator written in scala. In a team of three I designed the behaviour DSL and the domain validation model, built the illumination engine and the simulation GUI, and did the phototaxis learning task.

43M → 32states after redesigning the RL observation space

  • Compose partial robot behaviours with Kleisli arrows, then close the chain with a fallback policy.
  • Reduce an intractable Q-table to 32 states: the best checkpoint reached 90% success on ten held-out environments.
  • Train a DQN on 10×10 arenas and evaluate on 5×5, 20×20 and 30×30 arenas: 86%, 95% and 100% success respectively on curated environments with different step budgets.
  • python
  • reinforcement-learning
  • rl
  • robotics

2025

S-Parking

S-Parking: A modular Carla Simulator project for simulating parking scenarios with sensor fusion and state machine control. Two-person project. I authored the implementation.

7 / 24successful parks in a simulated evaluation; 17 safety stops, 0 collisions

  • Give obstacle detection priority over manoeuvre completion through an immediate stop transition.
  • Evaluate geometry, lateral offset and weather: 7 successful parks, 17 safety stops, zero collisions.
  • Use an explicit rule-based controller. The evaluation is simulation-only; recovery from an interrupted manoeuvre remains a limitation.

2026

ARGoS swarm robotics

Behaviour-based and swarm robotics in ARGoS/Lua: reactive control, subsumption, motor schemas and 50-robot aggregation. University of Bologna IRS course, 2024. Alone, for the course: the four controllers, the headless experiment scripts and the parameter study behind them.

81parameter combinations swept; the best set holds neighbours 27 cm apart

  • Solve the same task three times over, with fixed priorities, with subsumption layers and with motor schemas summed as vectors, and compare what each architecture costs.
  • Aggregate with a WALK/STOP automaton on ten-byte line-of-sight messages: stop with probability min(PsMax, S + α·N) in the number of stopped neighbours heard.
  • Five hundred and three hundred headless runs with a Mann-Whitney test on the seeds; small parameter changes move the result a lot, and the report says so.
  • lua
  • multi-agent-systems
  • potential-fields
  • robotics

2026

lecturize

Turn lecture recordings into notes offline: resumable faster-whisper CLI, markdown chapters/SRT/docx, local translation to 50 languages, no PyTorch. Mine, published on PyPI: design, implementation, packaging and releases. It replaces a single-file script I had been using for my own lectures.

7× / 20×faster than real time on my laptop, CPU then GPU, with the small model

  • Drop PyTorch entirely and run CTranslate2: one install of about 300 MB, and the CUDA libraries only for whoever asks for them.
  • Save every utterance to a SQLite checkpoint keyed by the file fingerprint and the settings, so an interrupted two-hour run continues from the last sentence.
  • Translate with the Argos Translate model packages driven directly through CTranslate2, pivoting through English, instead of a second ML runtime.
  • audio-transcription
  • cli
  • ctranslate2
  • faster-whisper

Further projects

2026

Factory Manager

Distributed systems project for industrial machinery monitoring.

2026

Python Clean Architecture Template

A pragmatic, test-enforced Clean Architecture template for Python APIs (FastAPI + SQLAlchemy). Executable dependency rule, one-command domain replacement, ADRs.

2026

PPS labs

Seven labs from the University of Bologna PPS course: TDD in Java, then Scala 3 from functions and ADTs to lazy lists, type classes and a solitaire solver. One sbt build, 145 tests.

2026

Machine learning labs

Five ML labs in Jupyter (SVM/k-NN, HOG, regression, MLP, CNN fine-tuning) from the University of Bologna course competition, second place overall. Python 2022 stack in Docker.

Skills & languages

Programming languages
Scala 3, Java, Python, Kotlin, JavaScript and TypeScript, C++ (embedded, Arduino and ESP).
Research and ML
Q-learning, Deep Q-Networks, reward engineering, experimental design, natural language processing, PyTorch, HuggingFace, TensorFlow and Keras.
Concurrency and distribution
Akka Typed, cats-effect, gRPC, Protobuf, Java RMI, MQTT, AMQP, RabbitMQ, microservices.
Architecture
Hexagonal architecture, CQRS, ports and adapters, domain-driven design; boundaries enforced in CI.
Back end and data
REST, OpenAPI, Spring MVC, Hibernate, Java EE, Node.js, MariaDB, MongoDB, Apache Spark on AWS EMR.
Practices and tooling
Docker, Git, GitHub Actions CI/CD, static analysis, coverage, BDD, TDD, Agile and Scrum.
Languages
Italian: native. English: fluent. Greek: fluent spoken (self-reported).
Certification
Microsoft Server, GC Group Srl, June 2017.