
    

    <?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="https://ocw.cs.pub.ro/courses/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://ocw.cs.pub.ro/courses/feed.php">
        <title>CS Open CourseWare</title>
        <description></description>
        <link>https://ocw.cs.pub.ro/courses/</link>
        <image rdf:resource="https://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-10-05T06:06:35+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/bdd?rev=1791166577&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/isc/labs/01?rev=1791143369&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/isc/labs/old/01?rev=1791143278&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/isc/labs/new/01?rev=1791142746&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/?image=isc%3Alabs%3Alab01_intro_new.zip&amp;ns=isc%3Alabs&amp;rev=1791142555&amp;tab_details=history&amp;mediado=diff&amp;do=media"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/ps?rev=1791140896&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/isi/laboratoare/02?rev=1791140676&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/pjv/laboratoare/2024/00?rev=1791140612&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/pjv?rev=1791140538&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/isi/laboratoare-arhiva/02_2025?rev=1791140207&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/ps/labs_python/05-07?rev=1791139801&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/ps/labs_python/08-10?rev=1791139676&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/prnp?rev=1791125952&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/si/sidebar?rev=1791125055&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/si?rev=1791124897&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/dsm/sidebar?rev=1791121968&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/dsm/assignments/01?rev=1791121280&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/si/laboratoare/2026/01?rev=1791120940&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/prnp/sidebar?rev=1791075602&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/courses/ep/labs/12/contents/tasks/ex1?rev=1791048211&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico">
        <title>CS Open CourseWare</title>
        <link>https://ocw.cs.pub.ro/courses/</link>
        <url>https://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="https://ocw.cs.pub.ro/courses/bdd?rev=1791166577&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-05T05:16:17+03:00</dc:date>
        <dc:creator>alex.petrescu</dc:creator>
        <title>Baze de Date Distribuite - [Laborator] </title>
        <link>https://ocw.cs.pub.ro/courses/bdd?rev=1791166577&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -30,9 +30,9 @@
  | Miercuri| 18-20   |  EG305  |   [[andrei_mihai.canuta@stud.acs.upb.ro| Drd. Ing. Andrei Mihai Cănuță]]|   
  | Miercuri| 20-22   |  EG305  |   [[andrei_mihai.canuta@stud.acs.upb.ro| Drd. Ing. Andrei Mihai Cănuță]]|  
  | Joi     | 08-10   |  EG305  |   [[alex.petrescu@upb.ro    | Dr. Ing. Alexandru Petrescu]]             |  
  | Joi     | 10-12   |  EG305  |   [[alex.petrescu@upb.ro    | Dr. Ing. Alexandru Petrescu]]             |  
- | Joi     | 20-22   |  EG305  |   [[robert-alexandru.badea@stud.fiir.upb.ro| Drd. Ing. Robert-Alexandru Badea]]| 
+ | Joi     | 20-22   |  EG305  |   [[robert.badea@stud.fiir.upb.ro | Drd. Ing. Robert-Alexandru Badea]]| 
  ==== Repartizare laborator ====
  
  Studentii se pot inscrie la oricare laborator din orar.
  

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/isc/labs/01?rev=1791143369&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:49:29+03:00</dc:date>
        <dc:creator>mihai.chiroiu</dc:creator>
        <title>Lab 01 - Introduction</title>
        <link>https://ocw.cs.pub.ro/courses/isc/labs/01?rev=1791143369&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,5 +1,5 @@
- ====== Lab 01 - Recover the Grades Application ======
+ ====== Lab 01 - Introduction ======
  
  ===== Objectives =====
  
  At the end of this lab, you should be able to:

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/isc/labs/old/01?rev=1791143278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:47:58+03:00</dc:date>
        <dc:creator>mihai.chiroiu</dc:creator>
        <title>Lab 01  - Introduction - created</title>
        <link>https://ocw.cs.pub.ro/courses/isc/labs/old/01?rev=1791143278&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1 +1,203 @@
+ /* ~~SHOWSOLUTION~~ */
+ 
+ ====== Lab 01  - Introduction ======
+ 
+ ===== Objectives =====
+   * Simple CTF tasks
+   * Introduction to Python scripting
+   * Introduction to basic security-related tools 
+ 
+ ===== AI/LLM agents prompt =====
+ 
+ {{page&amp;gt;:isc:agents&amp;amp;nofooter&amp;amp;noeditbutton&amp;amp;noheader}} 
+ 
+ ===== Useful Tools =====
+   * man, find, file
+   * base64
+   * gzip, bzip2, tar
+   * hexedit, xxd, binwalk
+   * john, zip2john
+   * [[https://cyberchef.org|CyberChef]] -- web-based &amp;quot;Swiss army knife&amp;quot; for encodings/decodings!
+ 
+ ===== Preparation =====
+ 
+ You may use the UPB&amp;#039;s OpenStack cloud to spawn a Virtual Machine to be used for this lab!
+ [[:isc:info:virtualmachine|Read this guide]].
+ 
+ {{page&amp;gt;:isc:rec&amp;amp;nofooter&amp;amp;noeditbutton}}
+ 
+ 
+ ==== Setup ====
+ 
+ Download the {{:isc:labs:isc-lab01-intro.zip|task archive}} for this section.
+ Each exercise lives in its own folder, so create and unzip to new directory:
+ 
+ &amp;lt;code bash&amp;gt;
+ # download from command line:
+ wget https://ocw.cs.pub.ro/courses/_media/isc/labs/isc-lab01-intro.zip
+ # unzip to lab01 dir (will be created)
+ unzip isc-lab01-intro.zip -d lab01
+ &amp;lt;/code&amp;gt;
+ 
+ Useful tools (already present on the ISC VM image):
+ 
+ &amp;lt;code bash&amp;gt;
+ sudo apt update
+ sudo apt install -y john binwalk p7zip-full gifsicle xxd
+ # note: everything else (base64, file, zcat, xxd, find, python3)
+ # should already be installed in any recent distro!
+ 
+ # note: install Python libraries inside a virtual env:
+ python3 -mvenv .venv        # create the py3 VENV
+ source .venv/bin/activate   # run this every time your terminal shell is restarted!
+ pip3 install requests  # HTTP client library for the last task
+ &amp;lt;/code&amp;gt;
+ 
+ &amp;lt;note important&amp;gt;
+ You have a guided walkthrough for each exercise (via a **spoiler block** containing the full solution). Treat it as a **last resort only** (please DO research yourself for about ~5 mins).
+ 
+ The struggle is an actual point: peeking is free, learning is earned. Official solutions will be released officially after the lab deadline.
+ 
+ Also, in CTF competitions, a **task&amp;#039;s name** is often **an important hint** to the technique(s) used!
+ &amp;lt;/note&amp;gt;
+ 
+ We recommend doing the following tasks using &amp;#039;&amp;#039;python3&amp;#039;&amp;#039; and/or &amp;#039;&amp;#039;bash&amp;#039;&amp;#039;. Though feel free to explore the files and their contents using shell tools (e.g., &amp;#039;&amp;#039;xxd&amp;#039;&amp;#039;, &amp;#039;&amp;#039;file&amp;#039;&amp;#039;) or any GUI viewer (especially for images / PDF / audio documents) beforehand!
+ 
+ 
+ ==== 01. Decode &amp;#039;til You Drop ====
+ 
+ One of your friends gave you this string which looks encoded... Figure out what encoding was used and decode it. Be patient, it may take a couple of decoding rounds :)
+   * **Hint**: Spot the encoding: chars //A-Z a-z 0-9 + / =// with length a multiple of 4 :? ...
+   * Also try out: [[https://cyberchef.org|CyberChef]]&amp;#039;s decoders, especially //Magic// (note: you can stack several in a recipe to peel multiple rounds);
+   * You can easily use a Python decode loop (see the included sample code) and prove your Python skillz.
+ 
+ &amp;lt;spoiler SPOILER! scratch to reveal..&amp;gt;
+   * The encoding is... 🥁... [[https://en.wikipedia.org/wiki/Base64|base64]]!
+   * Do one round by hand: &amp;lt;code bash&amp;gt;echo &amp;#039;Vm0weE5GVXhTWGhpUm...&amp;#039; | base64 -d&amp;lt;/code&amp;gt;
+   * If the output is //still// base64-looking, run it again!
+   * Here&amp;#039;s [[https://www.geeksforgeeks.org/python/encoding-and-decoding-base64-strings-in-python/|base64 in Python]] reference...
+   * Python &amp;lt;code python&amp;gt;
+ import base64
+ s = b&amp;#039;YOUR_STRING&amp;#039;
+ while True:
+     try:
+         s = your_decode_snippet(s)
+     except Exception:
+         break
+     print(s)   # print at each step
+ &amp;lt;/code&amp;gt;
+ 
+ &amp;lt;/spoiler&amp;gt;
+ 
+ &amp;lt;note tip&amp;gt;
+ Also check out &amp;#039;&amp;#039;ex1-encodings/bytes_vs_str.py&amp;#039;&amp;#039; for a quick python3 tutorial on string/byte encodings.
+ This is especially important when manipulating binary data using Python!
+ &amp;lt;/note&amp;gt;
+ &amp;lt;note warning&amp;gt;
+ 
+ For CLI and Python, you should keep the base64 string on ONE line: a line break in the middle breaks decoding!
+ &amp;lt;/note&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 02. Zip it good ====
+ 
+ The archive contains the flag. What is the password?
+   * **Hint:** the password is in the wordlist =&amp;gt; dictionary attack!
+   * You have a helper Python skeleton for this (using the [[https://docs.python.org/3/library/zipfile.html|zipfile module]]), or you can use a classic CLI tool (//the ripper//)!
+ 
+ &amp;lt;spoiler SPOILERS: Useful Python zip snippets + CLI tool...&amp;gt;
+   * Using Python3&amp;#039;s &amp;#039;&amp;#039;zipfile&amp;#039;&amp;#039; module:
+     * you can [[https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.setpassword|set the zip password]] in code: &amp;#039;&amp;#039;z.setpassword(bytes(test_passwd, &amp;quot;ASCII&amp;quot;))&amp;#039;&amp;#039; (remember encodings? this function requires &amp;#039;&amp;#039;bytes&amp;#039;&amp;#039;!);
+     * then try to extract either all using &amp;#039;&amp;#039;extractall()&amp;#039;&amp;#039; or &amp;#039;&amp;#039;read()&amp;#039;&amp;#039; the &amp;#039;&amp;#039;flag.txt&amp;#039;&amp;#039; file (+ if you check the Python module docs, you&amp;#039;ll actually see a &amp;#039;&amp;#039;pwd&amp;#039;&amp;#039; keyword argument for those methods)!
+   * As mentioned before, you can also use a classic cracking tool called &amp;#039;&amp;#039;john&amp;#039;&amp;#039;! You must first extract the password hash using &amp;#039;&amp;#039;zip2john ZIP_FILENAME &amp;gt; hash.txt&amp;#039;&amp;#039; then simply call it using the &amp;#039;&amp;#039;%%--%%wordlist=..&amp;#039;&amp;#039; + hash.txt command-line arguments ;) 
+ &amp;lt;/spoiler&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1.5em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 03. Find the impostor ====
+ 
+ The flag for this exercise is found in a file under the inhere directory. The file has the following properties:
+   * human-readable
+   * 987 bytes in size
+   * not executable
+ 
+ &amp;lt;note warning&amp;gt;
+   * for find: without the &amp;#039;&amp;#039;c&amp;#039;&amp;#039; size suffix, //-size 123// means 123 x 512 bytes =&amp;gt; you get nothing!
+ &amp;lt;/note&amp;gt;
+ 
+ &amp;lt;spoiler SPOILERS: You&amp;#039;re not fit to become a detective&amp;gt;
+   * Translate the provideed properties into &amp;#039;&amp;#039;find&amp;#039;&amp;#039; flags (&amp;#039;&amp;#039;man find&amp;#039;&amp;#039; is your friend):
+     * &amp;#039;&amp;#039;-size &amp;lt;SIZE&amp;gt;&amp;#039;&amp;#039; (warning: you must use &amp;#039;&amp;#039;c&amp;#039;&amp;#039; suffix for size in bytes, see manpage!);
+     * &amp;#039;&amp;#039;! -perm u+x&amp;#039;&amp;#039;: negate the permissions &amp;#039;&amp;#039;+x&amp;#039;&amp;#039; flag (executable) -- but this is actually useless since the first one will filter out most files ;)
+     * (yep, use single dashes for &amp;#039;&amp;#039;find&amp;#039;&amp;#039; patterns!)
+ &amp;lt;/spoiler&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1.5em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 04. Unknown File Type ====
+ 
+ We&amp;#039;ve found this file on a confiscated machine, but we can&amp;#039;t figure out what it is. Can you help us?
+ 
+ &amp;lt;spoiler SPOILERS: I am disappoint...&amp;gt;
+   * Use &amp;#039;&amp;#039;file&amp;#039;&amp;#039; on that file ;) 
+   * [[https://cyberchef.org|CyberChef]] also has a //detect file type// tool (you can Open a file from disk within).
+   * Find out it&amp;#039;s in &amp;#039;&amp;#039;gzip&amp;#039;&amp;#039; format, so either use &amp;#039;&amp;#039;gunzip -c ...&amp;#039;&amp;#039; or, much simpler, &amp;#039;&amp;#039;zcat&amp;#039;&amp;#039;!
+ &amp;lt;/spoiler&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1.5em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 05. Corrupted File ====
+ 
+ During a transmission, one of our files got corrupted. Take a look and see if you can do something about it. 
+   * Maybe there is something wrong with the file&amp;#039;s header!
+   * **Hint**: use &amp;#039;&amp;#039;xxd&amp;#039;&amp;#039; / [[https://cyberchef.org|CyberChef]] and look at the first bytes of that file...
+   * **Hint**: you can do this the hard way (manual hex editing) or the automated way (&amp;#039;&amp;#039;python&amp;#039;&amp;#039; -- recommended);
+   * Also: you have a hidden (dot) file in there to help you ;) 
+   * Use a graphical user interface to read the flag (or kitty/sixel terminal image protocol) :X
+ 
+ &amp;lt;spoiler SPOILERS: JFIF&amp;gt;
+   * Check out what [[https://www.file-recovery.com/jpg-signature-format.htm|the header of a JPEG file]] should be..
+   * Then make it so!
+   * If successful, &amp;#039;&amp;#039;file&amp;#039;&amp;#039; should report: //JPEG image data, JFIF standard..//
+ &amp;lt;/spoiler&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1.5em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 06. Hidden File (binwalk) ====
+ 
+ This time, the image opens, but there&amp;#039;s something in there...
+   * **Hint**: multiple files can be concatenated together, but the opening program only reads/parses the first one!
+ 
+ &amp;lt;spoiler SPOILERS: walk the bin...&amp;gt;
+   * just use &amp;#039;&amp;#039;binwalk&amp;#039;&amp;#039; on the file, it will scan the entire contents and show if there are multiple data formats concatenated together in a single one!
+     * The &amp;#039;&amp;#039;file&amp;#039;&amp;#039; utility just scans the header at offset 0; this one scans (brute force) every offset!
+     * The command has a useful &amp;#039;&amp;#039;-e&amp;#039;&amp;#039; (extract) flag that will create a new dir with all sub-files extracted ;) 
+     * if extract doesn&amp;#039;t work (some distros have buggy/incomplete pattern databases), try &amp;#039;&amp;#039;dd&amp;#039;&amp;#039; (with &amp;#039;&amp;#039;if=&amp;#039;&amp;#039;, &amp;#039;&amp;#039;of=&amp;#039;&amp;#039; and &amp;#039;&amp;#039;skip=&amp;#039;&amp;#039; with &amp;#039;&amp;#039;bs=1&amp;#039;&amp;#039; -- block size 1 byte to simplify the offset calculation)!
+   * You must then extract it... so &amp;#039;&amp;#039;find&amp;#039;&amp;#039; the file type first!
+ &amp;lt;/spoiler&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1.5em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 07. Waiting for eternity ====
+ 
+ We stared at this gif for the last hour but nothing is happening. Would you like to join us and stare at it for the next hour?
+   * Joke warning: don&amp;#039;t just wait, life is short!
+   * What is GIF? &amp;lt;color white&amp;gt;baby don&amp;#039;t hurt me...&amp;lt;/color&amp;gt;
+ 
+ &amp;lt;spoiler SPOILERS: still waiting...&amp;gt;
+   * Yea, a GIF is an animated image composed of multiple frames!
+   * So extract and visually inspect each frame for the flag ;)  
+     * You can use web-based tools to do this, image editors (e.g., Photoshop, GIMP) or even [[https://www.reddit.com/r/ffmpeg/comments/cqwlwo/extracting_frames_from_gif/|the popular ffmpeg video conversion tool]] to do that!
+ &amp;lt;/spoiler&amp;gt;
+ &amp;lt;html&amp;gt;&amp;lt;p style=&amp;quot;margin-bottom: 1.5em;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/html&amp;gt;
+ 
+ ==== 08 [bonus] Web Fuzzer ====
+ 
+ Start this task by opening its specific docker container on your VM: &amp;lt;code bash&amp;gt;
+ docker run -d -p 8080:80 ghcr.io/cs-pub-ro/isc-lab-intro-web
+ &amp;lt;/code&amp;gt;
+ 
+ You can now access a webserver on local port 8080 (try it with &amp;#039;&amp;#039;curl localhost:8080&amp;#039;&amp;#039;). Your task is to retrieve the hidden flag by trying all web paths inside the given wordlist (write your own fuzzer in Python, check the lab archive for resources!).
+   * //Hint//: use the [[https://requests.readthedocs.io/en/latest/|Python requests]] library to issue web requests! Check its HTTP status code to know when you successfully found an existing web file ;) 
+   * Don&amp;#039;t forget to use a virtual environment and install the library using &amp;#039;&amp;#039;pip3&amp;#039;&amp;#039; (see the //Setup// section)!
+ 
+ ===== Feedback =====
+ 
+ {{page&amp;gt;:isc:lab-feedback&amp;amp;nofooter&amp;amp;noeditbutton}}
+ 
  

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/isc/labs/new/01?rev=1791142746&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:39:06+03:00</dc:date>
        <dc:creator>mihai.chiroiu</dc:creator>
        <title>Lab 01 - Recover the Grades Application - [Scenario] </title>
        <link>https://ocw.cs.pub.ro/courses/isc/labs/new/01?rev=1791142746&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -13,9 +13,9 @@
    * relate practical security problems to the concepts discussed during the first lecture.
  
  ===== Scenario =====
  
- The university has recovered an old {{:isc:labs:lab01_intro_new.zipp|application}} used for managing student grades 
+ The university has recovered an old {{:isc:labs:lab01_intro_new.zip|application}} used for managing student grades 
  
  . As with any &amp;lt;del&amp;gt;homework&amp;lt;/del&amp;gt; project the documentation is incomplete. You have received only two files and some messages from the administrator:
  
  &amp;lt;code&amp;gt;

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/?image=isc%3Alabs%3Alab01_intro_new.zip&amp;ns=isc%3Alabs&amp;rev=1791142555&amp;tab_details=history&amp;mediado=diff&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:35:55+03:00</dc:date>
        <dc:creator>mihai.chiroiu</dc:creator>
        <title>isc:labs:lab01_intro_new.zip - created</title>
        <link>https://ocw.cs.pub.ro/courses/?image=isc%3Alabs%3Alab01_intro_new.zip&amp;ns=isc%3Alabs&amp;rev=1791142555&amp;tab_details=history&amp;mediado=diff&amp;do=media</link>
        <description></description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/ps?rev=1791140896&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:08:16+03:00</dc:date>
        <dc:creator>marian_gabriel.dinu</dc:creator>
        <title>Procesarea Semnalelor - [2. Orar] </title>
        <link>https://ocw.cs.pub.ro/courses/ps?rev=1791140896&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -21,10 +21,10 @@
  &amp;lt;hidden&amp;gt; [[andrei.nicolicioiu@gmail.com|Andrei NICOLICOIU]] &amp;lt;/hidden&amp;gt;
  
  ==== 2. Orar ====
  === 2.1 Curs ===
-   * Marți 12-14 (PR002): Marios **Choudary**
-   * Miercuri 10-12 (PR002) (o dată la două săptămâni - săptămână impară): Marios **Choudary**
+   * Marți 12-14 (PR002): Marios **CHOUDARY**
+   * Miercuri 10-12 (PR002) (o dată la două săptămâni - săptămână impară): Marios **CHOUDARY**
  
  === 2.2 Laborator ===
  
  ^  Ora/Ziua ^                            Miercuri                             |

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/isi/laboratoare/02?rev=1791140676&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:04:36+03:00</dc:date>
        <dc:creator>alexandru.predescu</dc:creator>
        <title>Laboratorul 02. Aplicație web cu ArcGIS în JavaScript - [Plan laborator] </title>
        <link>https://ocw.cs.pub.ro/courses/isi/laboratoare/02?rev=1791140676&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -515,9 +515,9 @@
  
  De exemplu:
  
  &amp;lt;code&amp;gt;
- {TRL_NAME}
+ TRL_NAME
  &amp;lt;/code&amp;gt;
  
  &amp;lt;note tip&amp;gt;
  **CHECKPOINT**

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/pjv/laboratoare/2024/00?rev=1791140612&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:03:32+03:00</dc:date>
        <dc:creator>alexandru.gradinaru</dc:creator>
        <title>0. Instalare Unity - [Cerinte] </title>
        <link>https://ocw.cs.pub.ro/courses/pjv/laboratoare/2024/00?rev=1791140612&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -3,5 +3,5 @@
  ==== Cerinte =====
  
    * Instalati Unity Hub: https://unity.com/download
    * Creati un cont
-   * Instalati Unity 6.3 (6000.3.5f1)
+   * Instalati Unity 6.3 (6000.3 LTS)

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/pjv?rev=1791140538&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T22:02:18+03:00</dc:date>
        <dc:creator>alexandru.gradinaru</dc:creator>
        <title>Programarea jocurilor video - [Punctaj IPJV] </title>
        <link>https://ocw.cs.pub.ro/courses/pjv?rev=1791140538&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -12,9 +12,9 @@
  
  
  ====== Punctaj IPJV ======
    * curs: vineri 08-10, PR704/online
-   * laborator (6p): orar Lu 10-12, Lu 14-16 (PR704), Ma 14-16 (PR704)
+   * laborator (6p): orar Lu 10-12 (PR704), Lu 14-16 (PR704), Ma 14-16 (PR704)
        * L1-6: Deadline prezentare: dec 2026
        * L7-12: Deadline prezentare: ian 2027
      * 1 tema (3p bonus) Deadline prezentare: ian 2027
    * examen oral/practic (4p) in sesiune

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/isi/laboratoare-arhiva/02_2025?rev=1791140207&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T21:56:47+03:00</dc:date>
        <dc:creator>alexandru.predescu</dc:creator>
        <title>Laboratorul 02 / 2025. Aplicație web cu ArcGIS în JavaScript</title>
        <link>https://ocw.cs.pub.ro/courses/isi/laboratoare-arhiva/02_2025?rev=1791140207&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,5 +1,5 @@
- ===== Laboratorul 02. Aplicație web cu ArcGIS în JavaScript =====
+ ===== Laboratorul 02 / 2025. Aplicație web cu ArcGIS în JavaScript =====
  
  ==== Obiective laborator ====
    * Introducere în realizarea aplicațiilor web configurabile cu ArcGIS Instant Apps builder
    * Familiarizare cu servicii de date în ArcGIS, ex. un feature layer poate fi expus printr-un serviciu web (feature service)

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/ps/labs_python/05-07?rev=1791139801&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T21:50:01+03:00</dc:date>
        <dc:creator>marian_gabriel.dinu</dc:creator>
        <title>Secțiunea 2 - RTL-SDR, Eșantionare și Analiza Spectrală</title>
        <link>https://ocw.cs.pub.ro/courses/ps/labs_python/05-07?rev=1791139801&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -15,9 +15,9 @@
  
  IDFT\ (inversa\  DFT): s(n) = \frac{1}{K}\sum^{K-1}_{k = 0}{S(k)e^{\frac{j 2 \pi n k}{K}}}, n \in \{0, ..., N-1\}
  \end{equation}
  
- === Exerciţiul 1 -- Procesarea simplă ===
+ === Exerciţiul 1 — Procesarea simplă ===
  
  Vom încerca să implementăm un sistem de procesare digitală simplă, care funcţionează după cum urmează:
    * luaţi 5 eşantioane (samples) din semnalul de intrare, $x_1, x_2, \ldots, x_5$.
    * faceţi o medie a celor 5 eşantioane (samples), $a = 0.2 \cdot (x_1 + x_2 + x_3 + x_4 + x_5)$

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/ps/labs_python/08-10?rev=1791139676&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T21:47:56+03:00</dc:date>
        <dc:creator>marian_gabriel.dinu</dc:creator>
        <title>Secțiunea 3 - Convoluție și filtre - [Partea II - Filtre cu răspunsul finit/infinit la impuls (FIR/IIR)] </title>
        <link>https://ocw.cs.pub.ro/courses/ps/labs_python/08-10?rev=1791139676&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -150,8 +150,9 @@
  În Python, puteți folosi funcția //signal.butter// din SciPy, pentru a obține coeficienții ($b_i$ și $a_i$) ai unui filtru IIR trece-jos, trece-bandă sau trece-sus. Apoi puteți folosi funcția //signal.lfilter// din SciPy, pentru a filtra orice secvență folosind coeficienții $b_i$ și $a_i$ dați de //signal.butter//.
  &amp;lt;/note&amp;gt;
  
  == Exercițiul 3 - Proiectarea rapidă de filtre FIR/IIR folosind MATLAB ==
+ [&amp;lt;color red&amp;gt;BONUS&amp;lt;/color&amp;gt;]
  
  În acest exercițiu, încercăm să urmăm pașii de la exercițiul 3, dar în **MATLAB**. Pentru a accesa MATLAB, puteți folosi MATLAB instalat pe PC-urile din laborator sau să folosiți **MATLAB Online**, din browser. Pentru MATLAB Online, trebuie să vă creați un cont cu adresa de e-mail de la facultate pe site-ul [[https://www.mathworks.com/mwaccount/register|acesta]].
  
  În MATLAB, puteți folosi funcția //fir1// pentru a obține rapid elementele $b_i$ ale unui filtru FIR trece-jos, trece-bandă sau trece-sus. Apoi puteți folosi funcția //filter// pentru a filtra orice secvență folosind coeficienții $b_i$ dați de //fir1//, iar $a_0 = 1$.

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/prnp?rev=1791125952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T17:59:12+03:00</dc:date>
        <dc:creator>dan_gabriel.badea</dc:creator>
        <title>Anunțuri pentru MM 2026-2027 - [Orar 2026-2027] </title>
        <link>https://ocw.cs.pub.ro/courses/prnp?rev=1791125952&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -35,8 +35,8 @@
  ^  Grupă    ^  Zi laborator  ^  Ore  laborator     ^  Asistent           |
  |  -  |  Luni  |  18:00 - 20:00  |  **GB**  |
  |  -  |  Luni  |  20:00 - 22:00  |  **GB**  |
  |  -  |  Marti  |  08:00 - 10:00  |  **AO**  |
- |  -  |  Marti  |  18:00 - 20:00  |  **TM**  |
+ |  -  |  Marti  |  18:00 - 20:00  |  **GB**  |
  |  -  |  Joi   |  16:00 - 18:00  |  **AL**  |
- |  -  |  Joi   |  20:00 - 22:00  |  **GB**  |
+ |  -  |  Joi   |  20:00 - 22:00  |  **TM**  |
  

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/si/sidebar?rev=1791125055&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T17:44:15+03:00</dc:date>
        <dc:creator>andrei.stan0305</dc:creator>
        <title>Administrativ - hide tema 2</title>
        <link>https://ocw.cs.pub.ro/courses/si/sidebar?rev=1791125055&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -20,13 +20,15 @@
  
  &amp;lt;/hidden&amp;gt;
  
  ====== Teme ======
+ &amp;lt;hidden&amp;gt;
  {{indexmenu&amp;gt;:si:teme2025}}
+ &amp;lt;/hidden&amp;gt;
  
  ====== Resurse ======
  {{indexmenu&amp;gt;:si:res}}
  
  ====== Arhiva ======
  
  {{indexmenu&amp;gt;:si:arh2023}}
    

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/si?rev=1791124897&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T17:41:37+03:00</dc:date>
        <dc:creator>andrei.stan0305</dc:creator>
        <title>Sisteme Embedded - [Administrativ] </title>
        <link>https://ocw.cs.pub.ro/courses/si?rev=1791124897&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -37,9 +37,9 @@
  ===== Administrativ =====
  
  [[:si:administrativ:regulament | Regulament]] \\
  &amp;lt;hidden&amp;gt;
- [[https://docs.google.com/spreadsheets/d/1QBj_FdaLY91FZgixebHRNploZi3snQRISobWVXSqDe0/edit?usp=sharing | Împărțirea pe grupe]]
+ [[https://docs.google.com/spreadsheets/d/1_6AVuIdNxTMTyVB8-XmvKZ1F4FhBtfkUEk-2tiksdN8/edit?usp=sharing | Împărțirea pe grupe]]
  &amp;lt;/hidden&amp;gt;
  ===== Laborator =====
  
  **Atentie! Este obligatoriu sa cititi laboratorul inainte de inceperea acestuia. 

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/dsm/sidebar?rev=1791121968&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T16:52:48+03:00</dc:date>
        <dc:creator>emilian.radoi</dc:creator>
        <title>General Information</title>
        <link>https://ocw.cs.pub.ro/courses/dsm/sidebar?rev=1791121968&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -1,9 +1,7 @@
  ====== General Information ======
- &amp;lt;hidden&amp;gt;
    * [[https://docs.google.com/spreadsheets/d/1N-p2IEYb9kOLbpjjVvm86_Lm7RQ28-uIMwieXMeHm30/edit?usp=sharing | Semester Timeline]]
    * [[https://docs.google.com/spreadsheets/d/1z1fWL8q8LqH_ErF9MZr_xTxy0LdZlZh2MbAPAbK5U6M/edit?usp=sharing | Grades]]
- &amp;lt;/hidden&amp;gt;
  
  ====== Lectures ======
  {{indexmenu&amp;gt;:dsm:lectures}}
  

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/dsm/assignments/01?rev=1791121280&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T16:41:20+03:00</dc:date>
        <dc:creator>emilian.radoi</dc:creator>
        <title>Project</title>
        <link>https://ocw.cs.pub.ro/courses/dsm/assignments/01?rev=1791121280&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -35,9 +35,9 @@
            * What architectures and training techniques are used? Any noteworthy or novel approaches?
      * **Presentation**:
        * Prepare a 5 minute presentation (with slides) that summarises your review.
        * State the topic / problem, the context, and the direction you intend to pursue (your research questions).
-       * Your M1 score will be determined based on the presentation.
+       * Your M1 score will be determined based on the presentation. Both team members must contribute to the presentation.
    * **Tips**:
      * How to read research papers efficiently - [[https://dslsrv1.rnet.missouri.edu/resources/HowToReadAPaper.pdf | the 3-pass method]].
      * Suggested workflow: 
        * Start with recent literature reviews (surveys of scholarly sources) related to your topic of interest - [[https://arxiv.org/abs/2405.12833) | example]].
@@ -107,9 +107,9 @@
          * Key steps of your methodology.
          * Experimental results and your main contributions.
          * Conclusions and potential areas for future research.
        * **Presentations tips**: create well-polished slides with clear visuals, including figures, graphs and performance metrics.
-     * **Evaluation**: The presentation will be graded based on clarity, depth of explanation, the quality of results and the Q&amp;amp;A section. The M4 grade is determined based on the presentation quality.
+     * **Evaluation**: The presentation will be graded based on clarity, depth of explanation, the quality of results and the Q&amp;amp;A section. The M4 grade is determined based on the presentation quality. Both team members must contribute to the presentation.
      * **Upload M4 (Documentation and Slides)**: [[https://curs.upb.ro/2025/mod/assign/view.php?id=24456|Upload]] must contain title and authors.
  
  
  ----

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/si/laboratoare/2026/01?rev=1791120940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T16:35:40+03:00</dc:date>
        <dc:creator>oana.titoc</dc:creator>
        <title>Lab 01: Zephyr RTOS, compilarea unei aplicații simple - [2.4 Inițializarea și actualizarea spațiului de lucru Zephyr] </title>
        <link>https://ocw.cs.pub.ro/courses/si/laboratoare/2026/01?rev=1791120940&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -87,18 +87,18 @@
  west init -m https://github.com/zephyrproject-rtos/zephyr --mr v4.4.0
  west update
  &amp;lt;/code&amp;gt;
  
- Exportă pachetul CMake al Zephyr (pentru ca CMake să poată găsi Zephyr):
+ Instalează dependențele Python pentru Zephyr și modulele sale:
  
  &amp;lt;code bash&amp;gt;
- west zephyr-export
+ west packages pip --install
  &amp;lt;/code&amp;gt;
  
- Instalează dependențele Python pentru Zephyr și modulele sale:
+ Exportă pachetul CMake al Zephyr (pentru ca CMake să poată găsi Zephyr):
  
  &amp;lt;code bash&amp;gt;
- west packages pip --install
+ west zephyr-export
  &amp;lt;/code&amp;gt;
  
  (Această comandă apare exact în această formă în procedura din ghidul introductiv și reprezintă, de obicei, pasul următor după &amp;#039;&amp;#039;west update&amp;#039;&amp;#039;.)
  

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/prnp/sidebar?rev=1791075602&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-04T04:00:02+03:00</dc:date>
        <dc:creator>dan_gabriel.badea</dc:creator>
        <title>Informații generale PR</title>
        <link>https://ocw.cs.pub.ro/courses/prnp/sidebar?rev=1791075602&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -27,9 +27,9 @@
  &amp;lt;/hidden&amp;gt;
  
  ====== Laboratoare ======
  
-   * [[TBA|Laboratorul 01 - Python, NumPy și pandas pentru Data Science ]]
+   * [[https://colab.research.google.com/drive/1ti9p44rfZ2iiQefi4qjC6RrPs_YKdSyN?usp=sharing|Laboratorul 01 - Python, NumPy și pandas pentru Data Science ]]
    * [[TBA|Laboratorul 02 - Analiza exploratorie și calitatea datelor]]
    * [[TBA|Laboratorul 03 - De la date brute la date pregătite pentru model]]
    * [[TBA|Laboratorul 04 - Fundamentele Machine Learning și regresia]]
    * [[TBA|Laboratorul 05 - Clasificare I: modele liniare și bazate pe distanță]]

&lt;/pre&gt;</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/courses/ep/labs/12/contents/tasks/ex1?rev=1791048211&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-10-03T20:23:31+03:00</dc:date>
        <dc:creator>ioana.macovei</dc:creator>
        <title>Content - [Feedback] </title>
        <link>https://ocw.cs.pub.ro/courses/ep/labs/12/contents/tasks/ex1?rev=1791048211&amp;do=diff</link>
        <description>&lt;pre&gt;
@@ -9,5 +9,5 @@
  More information about the portfolio can be found on this **[[https://ocw.cs.pub.ro/courses/ep/teme/portfolio | page]]**.
  
  ==== Feedback ====
  
- Please take a minute to fill in the **[[https://forms.gle/moWQFAfMMmNmA2Q17 | feedback form]]** for this lab.
+ Please take a minute to fill in the **[[https://forms.gle/iqxDYWvRRK4nvj3J9 | feedback form]]** for this lab.

&lt;/pre&gt;</description>
    </item>
</rdf:RDF>
