
BAA1104 - E-Portfolio and Business Analytics Challenges

Available on the module’s loop page and, more importantly, online at:
Website that showcases your coding skills, achievements, experiences, and personal reflections. It should include various media types—documents, images, videos, audio clips, presentations, and web links—that can be tailored for different audiences. Deadline: April 20, 2026
…Just to name a few.
These services offer a platform to design an eportfolio/website and to host the eportfolio/website on their own servers.
Instead, we are going to manually create our eportfolio/website and to host it on a specific server.
Overall design, attention to details, and innovation.
A command-line interface (CLI) processes commands to a computer program in the form of lines of text. The program which handles the interface is called a command-line interpreter or command-line processor.
Operating systems implement a command-line interface in a shell for interactive access to operating system functions or services. Such access was primarily provided to users by computer terminals starting in the mid-1960s, and continued to be used throughout the 1970s and 1980s on VAX/VMS, Unix systems and personal computer systems including DOS, CP/M and Apple DOS.
In computing, a shell is a computer program which exposes an operating system’s services to a human user or other program. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer’s role and particular operation. It is named a shell because it is the outermost layer around the operating system.
Vocabulary:
A new CMD or PowerShell terminal application for Windows OS
A new zsh terminal on MacOS
Fast and efficient way to interact with your computer
Important part of your automation toolbox to create a reproducible data analysis pipeline
Accessing a remote server almost always requires some sort of command line skills
| Description | Win | Linux, MacOS |
|---|---|---|
| Copy files, folders | copy |
cp |
| Move files, folders | move |
mv |
| List folder content | dir |
ls |
| Create new folder | mkdir |
mkdir |
| Change current folder | cd |
cd |
| Show current path. | cd |
pwd |
| Locate a software | where |
which |
| Danger zone No undo! | ||
| Delete file(s) | del |
rm |
| Delete folder(s) | rmdir. |
rm |
cd with cmdpwd with zsh or PowerShellNote, Terminals always start from your home. You, it should print something like:
C:\Users\YourUserName/Users/YourUserNamewhere python with cmdwhere.exe python with PowerShellwhich python with zshNote, if python is not installed, noting will be printed
03:00
A path is a string of characters used to uniquely identify a location in a directory structure. It is composed by following the directory tree hierarchy in which components, separated by a delimiting character, represent each directory.
Resources can be represented by either absolute or relative paths
Delimiting characters / or \ vary by operating system
: to specify the drive name (e.g., C:, D:, E:)\)C:\Damien\Documents\projects\damien-dupre.github.io\index.qmd:)/) character/Users/Damien/Drive/projects/damien-dupre.github.io/index.qmdSoftware, such as R, \(\LaTeX\), and Python, with a Linux/UNIX background behaves differently under MS Windows when it comes to specifying file/folder paths
That is, when specifying a path (e.g., in Python) in MS Windows, these programs do not like the backslash character (\) (the backslash is used for “escaping” other characters)
In MS Windows, the following will not work!
Two solutions:
/ instead of \, e.g.:\\, e.g.:Note: Many programming languages/statistical packages (R, Python, …) can dynamically create a full path that follows the rules of the respective operating system
returns: E:folder1\\folder2\\file (in Windows)
A handy tool when working on both operating system: Path Copy Copy – Copy file paths from Windows explorer’s contextual menu
Mac users can left-click and press option to “copy as a Pathname”
An absolute path specifies a file or directory location from the root directory.
Examples:
When accessing folders and files that you have created, the root directory is followed by your home folder
So, let’s assume the project “damien-dupre.github.io”, the full absolute path is:
C:\Users\Damien\Projects\damien-dupre.github.ioUsers/Damien/Projects/damien-dupre.github.ioA relative path specifies a location relative to the current directory which is a “fixed location” on your computer
Often, this “fixed location” is the so-called “working directory”
. denotes the current working directory.. denotes the parent directory, i.e., it points upwards in the folder hierarchy~ will bring you back to your home directory, e.g. cd ~Examples:
Works differently based on where the command is run.
All other file- or folder-related operations are defined relative to this working directory
The huge benefit: when you share your project with a colleague or move it to a new computer, you only have to define the working directory once, everything else should work flawelessly
Using cd in the Terminal, it is possible to move between directories with either:
See here for more examples
Contains all necessary files for your project, eportfolio or any repository in general:
dataresultsdocssrc or pyscripts/analysisREADME.mdLICENCEAn important part of project management, code automation, and data analytics in general is to have your files read by a piece of code or software.
Machines are clever, but extremely pedantic.
Be consistent, be meticulous.
Some machines are more clever than others, so name files in a way that the “dumbest” of them can deal with.
Variables and filenames should have meaningful names in kebab-case or snake_case format, preferring all lower case.
Machines will first list files starting with numbers (ascdendingly) then in alphabetic order.
But they wont understand the difference between 1 and 10
Using dates in file names may also ensure decent organisation but be consistent. Recommend using YYYY-MM-DD formatting
vs
Consider using different space separators for different parts of the file name
This way you can use the file name it self, programatically, if needed
Optimising file names for computers is great, but ultimately its us humans that need to choose files to work with. Naming files in a way that makes the file content obvious (or at least give an idea of content) by the file name is good for such interactions.
vs.
Images from plots should use png or svg
.png supports transparency and has no quality loss upon re-saving
.svg can rescale to infinity without getting grainy
.jpg best for photos, quality loss on rescale, blurry edges and poor text rendering
Images can also some times be saved in pdf, but pdf while a vector format, cannot support transparency.
Tiff has fallen out of favour due to high file sizes, but are preferable to jpeg for photos.
Keep your projects tidy
1 folder per project and all the project folders in 1 “Projects” folder.
.
|-- Projects
|-- my-project-a
|-- my-project-b
|-- damien-dupre.github.io
Open your Terminal again and run cd ~ to go back to your home directory
Create a “Projects” folder using mkdir Projects (cmd, powershell, zsh, bash)
Move to this new folder directory using cd Projects
Note, the message no such file or directory will be printed if it hasn’t worked
In this “Projects” folder, create a subfolder called “my_first_project” using mkdir my_first_project (cmd, powershell, zsh, bash)
Move to this folder using absolute path:
cd C:\Users\YourUsername\Projects\my_first_project (Windows)
cd Users/YourUsername/Projects/my_first_project (MacOS/Linux)
05:00
Why do we care about project management?
The ability to move the project without breaking code or needing adapting
The ability to rerun the entire process from scratch
05:00
Which file extensions have you found?
Web and Interactive Content
• .html / .htm: HyperText Markup Language files for web content.
• .css: Cascading Style Sheets for web design.
• .js: JavaScript files for interactive elements.
Text and Document Formats
• .doc / .docx: Microsoft Word documents.
• .pdf: Portable Document Format, widely used for static, professional documents.
• .txt: Plain text files.
• .rtf: Rich Text Format, compatible with various word processors.
• .odt: OpenDocument Text, used by open-source tools like LibreOffice.
Presentation Formats
• .ppt / .pptx: Microsoft PowerPoint presentations.
• .odp: OpenDocument Presentation format.
• .key: Apple Keynote presentations.
Spreadsheet Formats
• .xls / .xlsx: Microsoft Excel spreadsheets.
• .csv: Comma-separated values, often used for data sharing.
• .ods: OpenDocument Spreadsheet format.
Image Formats
• .jpg / .jpeg: Compressed image files.
• .png: High-quality image files supporting transparency.
• .gif: Animated or static image files.
• .bmp: Bitmap image files.
• .tiff / .tif: High-resolution image files.
• .webp: Compressed image format for the web.
• .ico: Icon image files, often used for branding or UI mockups.
• .heic: High Efficiency Image Format, used in modern Apple devices.
• .svgz: Compressed Scalable Vector Graphics.
• .raw: Camera raw image files from DSLRs.
Audio Formats
• .mp3: Compressed audio files.
• .wav: High-quality audio files.
• .ogg: Open-source audio file format.
Video Formats
• .mp4: A widely-used video format compatible with most devices.
• .avi: Video format with higher quality, but larger file size.
• .mov: Apple QuickTime video format.
• .wmv: Windows Media Video format.
Other Formats
• .svg: Scalable Vector Graphics, ideal for logos and illustrations.
• .md: Markdown files, often used in coding or minimalist documentation.
• .log: Log files for tracking progress or issues.
• .yml / .yaml: Data serialisation formats, often for configuration files.
• .zip / .tar.gz / .7z: Compressed archive formats for distributing multiple files.
• .dat: Generic data files.
Huge thanks the following people who have generated and shared most of the content of this lecture:
Athanasia Monika Mowinckel: Mind your data - Creating Organised Research Projects
Bernd Weiß: Tools and Workflows for Reproducible Research in the Quantitative Social Sciences - Computer Literacy

Thanks for your attention and don’t hesitate to ask if you have any questions!
@damien_dupre
@damien-dupre
https://damien-dupre.github.io
damien.dupre@dcu.ie